`

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

阅读更多

这里自定义Email类,set里面放的是 email  类,非常类似组成关系.

在email里面要重写equal和hashcode方法

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;   

 

java 代码
  1. public class Email  implements java.io.Serializable {   
  2.   
  3.   
  4.     // Fields       
  5.   
  6.      private long id;   
  7.      private String email;   

Email类需要重写equals和hascode方法

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.             <composite-element class="tie.Email">  
  13.                 <property name="email" type ="string" column="email"></property>  
  14.             </composite-element>  
  15.         </set>  
  16.     </class>  
  17. </hibernate-mapping>  

我想这种设计的思路是很灵活的,

关系模型怎么设计,域模型怎么设计就产生不同的配置的方法,只要行的同就可以。

分享到:
评论

相关推荐

    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会创建一个哈希字段,允许...

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

    第2章 安装 2.1 概述-----------------------------------------------------------------------------------------------9 2.2 安装VTK到Windows9x/NT/ME/2000/XP----------------------------------------------...

    hibernate map 集合映射

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

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

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

    MySQL中set类型的使用

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

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

    2. **MyBatis映射配置**:修改MyBatis的Mapper XML文件,针对这个特殊值进行特殊处理。例如,可以使用`if`条件标签来判断是否为'0000-00-00 00:00:00',如果是,则忽略或者转换为NULL。 ```xml INSERT INTO table...

    hibernate集合的映射

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

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

    "Hibernate one-to-many / many-to-one关系映射"是两个基本的关系类型,用于表示实体间的关联。在这个主题中,我们将深入探讨这两种关系映射的原理、配置和实际应用。 一、一对一(one-to-one)与一对多(one-to-...

    linux i2c 调试工具 i2c-tools

    i2cget可以按照不同数据类型(如字节、短整型、字等)从指定的设备地址读取一个或多个寄存器值。i2cset则允许写入单个或连续的寄存器值。它们的语法分别为`i2cget -y [adapter_number] [device_address] [register_...

    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

    - 整型(Integer):如int,用于存储整数值,如-2、0、3等。在不同的编程语言中,整型有多种大小,如32位或64位。 - 浮点型(Floating-point):如float或double,用于存储带有小数的数值,如3.14或-0.5。浮点型比...

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

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

    Hibernate 参考文档

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

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

    - setfield:设置结构数组中字段的值。 4. 单元数组类型: - cell:创建单元数组。 - cell2mat:将单元数组转换为单一矩阵。 - celldisp:显示单元数组的内容。 - cellfun:对单元数组中的每个元素应用函数。 ...

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

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

    get set方法生成工具

    2. **set方法**:set方法用于设置对象的私有属性值。它接受一个参数,参数类型与属性的类型相同,返回类型通常是void。例如,对于`age`变量,set方法可能是`public void setAge(int age) { this.age = age; }`。 在...

Global site tag (gtag.js) - Google Analytics