`

值类型映射---Set(1)

阅读更多

这里介绍2种不同的域模型的设计,

一种是Set里面装String类型,一种是Set里面装的是List类型

java 代码
  1. public class User  implements java.io.Serializable {   
  2.   
  3.   
  4.     // Fields       
  5.   
  6.      private long id;   
  7.      private String name;   
  8.      private Set emails;   
xml 代码
  1. <hibernate-mapping>  
  2.     <class name="tie.User" table="user" catalog="tie">  
  3.         <id name="id" type="long">  
  4.             <column name="id" />  
  5.             <generator class="native" />  
  6.         </id>  
  7.         <property name="name" type="string">  
  8.             <column name="name" length="45" not-null="true" />  
  9.         </property>  
  10.         <set name="emails" table="email">  
  11.             <key column="id"></key>  
  12.             <element type="string" column="email"></element>  
  13.         </set>  
  14.     </class>  
  15. </hibernate-mapping>  
java 代码
  1. public void testCreate(){   
  2.     User user = new User();   
  3.     user.setName("wangdan");   
  4.     user.setEmails(new HashSet());   
  5.     user.getEmails().add("linewihan@163.com");   
  6.     user.getEmails().add("linweyang@163.com");   
  7.        
  8.     Session session = factory.openSession();   
  9.     Transaction tr = session.beginTransaction();   
  10.     session.save(user);   
  11.     tr.commit();   
  12.     session.close();   
  13.        
  14. }  

上面Email中装的是String类型.

只有一个持久化类User

分享到:
评论

相关推荐

    JAVA数据类型与Hibernate的类型映射

    这篇博客主要探讨了Java数据类型如何与Hibernate的类型映射进行对应。 首先,Java的基本数据类型在Hibernate中有对应的类型映射。例如,int型在Hibernate中通常映射为Integer类型,因为数据库字段可能允许为空...

    20151910042-刘鹏-DSA实验10-映射-哈希表-跳表实验1

    在Python中,映射是内置的字典类型,提供了丰富的操作接口,如get()、setdefault()、pop()等,方便开发者进行数据管理。 【跳表】 跳表(Skip List)是一种概率型数据结构,用于快速查找有序序列中的元素。跳表通过...

    Ruby-RedisObjects直接将Redis类型映射成Ruby对象

    1. **String**: Redis-Objects将Redis的字符串类型映射为Ruby类的实例方法,例如`key.increment`来增加键的值,或者`key.get`来获取键的当前值。 2. **Hash**: 在Ruby类中,Redis-Objects会创建一个哈希字段,允许...

    grub4dos-V0.4.6a-2017-02-04更新

    使用command --set-ext设置,每个扩展名使用";"分隔 例子: command --set-ext=.g4b;.g4e 执行时可以不用输入扩展名,比如输入test如果当前路径下有一个test.g4b就会自动使用。 2013-10-17 1.修改代码支持...

    hibernate map 集合映射

    这篇文章将深入探讨Hibernate中的集合映射机制,包括其基本概念、类型以及如何在实际开发中进行配置。 ### 1. Hibernate集合映射的基本概念 集合映射是Hibernate中一个核心的概念,它允许我们将数据库表中的多对一...

    VTK User's Guide(中文完整版)

    颜色映射 轮廓化 浮雕化 流线图 流线表面 剪裁 融合数据 附加数据 用另外一个尺度给等值面赋颜色 抽取单元格子集 抽取单元格作为多边形数据 5.2 可视化多边形数据-------------------------------------...

    MySQL中set类型的使用

    在Java的Hibernate框架中,如果你需要映射一个MySQL的`SET`类型字段,可以使用`@ElementCollection`和`@CollectionTable`注解。例如,假设我们有一个`User`类,其中有一个`interests`字段存储用户的兴趣: ```java @...

    mysql的timestamp类型字段为'0000-00-00 00:00:00'导致mybatis映射时报错解决方法

    然而,当你在使用MyBatis进行数据映射时,可能会遇到一个特定的问题,即当`TIMESTAMP`字段的值为'0000-00-00 00:00:00'时,MyBatis可能无法正确处理这个特殊值,导致映射异常。这个问题通常出现在尝试插入或更新包含...

    hibernate集合的映射

    本文将深入探讨Hibernate中的四种主要集合映射类型:Set、List、Array和Map,以及它们在实际开发中的应用场景和配置。 一、Set集合映射 Set集合映射是最常见的映射类型,它不允许重复元素。在Hibernate中,Set通常...

    Hibernate one-to-many / many-to-one关系映射

    1. 选择合适的集合类型:根据业务需求,合理选择List、Set、Map或Bag作为关联集合,注意它们在数据存储和查询上的差异。 2. 使用懒加载(lazy="true"):默认情况下,关联数据会随着主对象一起加载,但通常不建议...

    《python核心编程》第七章:映射和集合类型1

    在Python编程语言中,映射和集合类型是两种非常重要的数据结构,它们提供了灵活的数据组织方式。本章主要聚焦于映射(字典)和集合类型的深入理解和使用。 7.1 映射类型:字典 字典是Python中一种关联数据结构,它...

    java集合与映射(牛)

    - **TreeSet**:基于红黑树实现的Set接口,可以自然排序或根据创建Set时提供的Comparator排序,但不能包含null值。 2. **List** - **特点**: - 允许有重复元素。 - 有序,即添加到集合中的元素会按照插入顺序...

    映射 SQL 和 Java 类型.doc

    1. **getXXX和setXXX方法**:这些方法位于PreparedStatement和ResultSet接口中,如`setInt(int index, int value)`用于设置SQL INTEGER类型的参数,`getString(int index)`用于获取SQL VARCHAR类型的值。方法名中的...

    JAVA培训-HIBERNATE的集合映射.doc

    在给定的文档“JAVA培训-HIBERNATE的集合映射.doc”中,主要讲解了Hibernate如何处理不同类型的集合映射,包括Set、List、Array、Map和Bag。我们将详细讨论这些集合映射以及它们在实际应用中的使用。 首先,我们来...

    程序设计-我们的数据类型.pptx

    - 值类型与引用类型:值类型存储实际数据,而引用类型存储数据的地址。值类型在栈中分配,引用类型在堆中分配。 - 生命周期:变量的生命周期取决于其作用域,当变量超出作用域时,内存会被回收。 5. 静态与动态...

    Hibernate 参考文档

    - **映射到"任意"(any)类型**:一种特殊的数据类型映射方式,用于存储任意类型的对象。 - **SQL中引号包围的标识符**:如何在映射文件中引用数据库中的标识符。 - **映射文件的模块化**:将大型映射文件拆分为更小...

    hibernate关联映射的作用和常用属性解释

    - **`discriminator-value`**:用于多态映射时区分不同子类的值。 - **`mutable`**:指定是否允许修改对象的状态,默认为`true`。 - **`schema`**:指定数据库模式或模式名称。 - **`catalog`**:指定数据库目录。 -...

    get set方法生成工具

    "get set方法生成工具"是为了帮助开发者提高代码编写效率,根据数据表的字段和类型自动生成这些方法的工具。 首先,让我们详细了解get和set方法的作用: 1. **get方法**:get方法用于获取对象的私有属性值。它通常...

    matlab编程和数据类型函数.docx

    1. 数值类型: - arrayfun:这个函数允许你对数组中的每个元素应用一个函数。 - cast:用于将变量转换为不同的数据类型,例如将浮点数转换为整数。 - cat:沿着指定的维度连接多个数组。 - class:返回变量的...

    Dozer一个JavaBean至JavaBean映射器

    对于集合类型的属性,如List、Set、Map,Dozer会自动进行元素级别的映射。这意味着源对象的集合中的每个元素都会被映射到目标对象的对应集合中。 ### 5. 深度映射与自定义事件监听 Dozer不仅支持简单的属性映射,...

Global site tag (gtag.js) - Google Analytics