浅析Hibernate映射(五)——集合映射

集合映射主要包括:set、list、array、map的映射

对象模型:

映射后的关系模型:

映射文件:

[html] view plaincopyprint?

  1. <hibernate-mapping>
  2. <class name="com.jialin.hibernate.CollectionMapping" table="t_collection_mapping">
  3. <id name="id">
  4. <generator class="native"/>
  5. </id>
  6. <property name="name"/>
  7. <set name="setValues" table="t_set_values">
  8. <key column="set_id"/>
  9. <element type="string" column="set_value" not-null="true"/>
  10. </set>
  11. <list name="listValues" table="t_list_values">
  12. <key column="list_id"/>
  13. <list-index column="list_index"/>
  14. <element type="string" column="list_value"/>
  15. </list>
  16. <array name="arrayValues" table="t_array_values">
  17. <key column="array_id"/>
  18. <list-index column="array_index"/>
  19. <element type="string" column="array_value"/>
  20. </array>
  21. <map name="mapValues" table="t_map_values">
  22. <key column="map_id"/>
  23. <map-key type="string" column="map_key"/>
  24. <element type="string" column="map_value"/>
  25. </map>
  26. </class>
  27. </hibernate-mapping>
时间: 2024-10-14 04:38:44

浅析Hibernate映射(五)——集合映射的相关文章

hibernate 映射关系—集合映射

1.集合映射简介 当持久化类中有一个值类型的集合,那么就需要一张额外的数据库表来保存这个值类型集合的数据,这张表被称为集合表.比如有一张学生表,学生可能有很多爱好,就需要一种学生爱好集合表来存储学生的爱好信息. Hibernate支持大部分重要的JDK集合接口映射,主要有以下几种. 1. set 可以映射类型为java.util.Set接口的属性,它的元素存放没有顺序且不允许重复:也可映射类型为java.util.SortSet接口的属性.它的元素可以按自然顺序排列. 2. list 可以映射类

hibernate中Set集合映射

set集合映射三要素(从javabean映射到数据 ORM)) 1,集合表(外键表,子表)名称 2.,指定集合表外键<key column=""> 3.集合表其他元素<element type="" column=""> <set name="addressSet" table="user_addressSet" order-by="address ASC"

攻城狮在路上(壹) Hibernate(十)--- 映射值类型集合

一.映射Set(集):未排序,无重复. 实例代码: ? 1 2 3 4 <set name="images" table="IMAGES" lazy="true" > <key column="CUSTOMER_ID" /> <element column="FILENAME" type="string" not-null="true"/

hibernate 集合映射之有序集合

hibernate 有时候会出现集合映射的情况,一般One-to-many的时候会用到.主要形式为: model: public class TestPerson {       private Long pid;       private String pname;       private String age;       private Set<TestRole> testRole = new HashSet<TestRole>(); -------get() set(

NHibernate 集合映射深入 (第五篇) &lt;set&gt;,&lt;list&gt;,&lt;map&gt;,&lt;bag&gt;

NHibernate 集合映射深入 (第五篇) <set>,<list>,<map>,<bag> 一.集合外键 在NHibernate中,典型的用于映射集合类的元素有<set>,<list>,<map>,<bag>,<array>,<primitive-array>. 我们回到上一篇,集合映射基础当中的一对多查询.对于集合类型: public virtual ISet<Person

【Hibernate】Hibernate的集合映射与sort、order-by属性

常用集合Set.List.Map,相信大家都很熟悉,面试中也会经常问.Set和List都继承了Collection接口,Set是无序不可重复的,不可以存储相同的元素:而Lsit是顺序存储的,可存储重复元素.Map不是继承Collection的,Map提供key到value的映射,Map也是不可重复的(key不可重复),一个Map中不能包含相同的key,每个key只能映射一个value. 持久化类的属性是集合时,要把它们存到数据库中,需要增设数据库表来完成映射工作.例如一个学生的教育背景可能不止一

Hibernate笔记③--集合映射、组合映射、联合主键、查询案例

lazy 懒加载 默认为proxy ? 继承映射 discriminant column="type" type="string" ? 集合映射 生成表的语句: public class DbCreate { ????public static void main(String[] args) { ????????Configuration cfg=new Configuration().configure("/hibernate.cfg.xml"

【Hibernate步步为营】--最后的集合映射

上篇文章详细讨论了组合对象映射的原理,它其实指的是如何将对象模型中的组合关系映射到关系模型中,它是通过使用Hibernate提供的<component>标签来实现的,并需要在该标签中添加对应组合对象的属性,有关组合对象的映射请查看笔者的上篇文章.该篇文章来详细讨论下集合的映射关系,Java的集合有四种分别是Set.Map.List和普通集合,在开发时往往需要将这些集合转化为对应的关系模型,这种集合映射的实现过程就是我们今天要讨论的话题. 一.集合映射 1.1 集合小介 集合映射也是基本的映射,

Hibernate 集合映射 一对多多对一 inverse属性 + cascade级联属性 多对多 一对一 关系映射

1 . 集合映射 需求:购物商城,用户有多个地址. // javabean设计 // javabean设计 public class User { private int userId; private String userName; // 一个用户,对应的多个地址 private Set<String> address; private List<String> addressList = new ArrayList<String>(); //private Str