hibernate映射集合属性

hibernate映射集合属性通常需要指定一个name属性,用于标明该集合属性的名称;

除此之外,它还有如下可选属性:

 

  1. table:指定保存集合的表名;
  2. schema:指定保存集合属性的数据表的schema的名称,用于覆盖根元素的schema属性;
  3. lazy:设置是否启动延迟加载,默认true;
  4. inverse:指定该集合作为双向关联关系中的另一端;
  5. cascade:指定当操作持久化对象时是否让操作级联到子实体类;
  6. order-by:设置数据库对集合元素排序;
  7. sort:指定集合排序顺序,可以是自然顺序,或者给定排序类进行排序;
  8. where:指定任意的SQL语句中的where条件,该条件在加载或者删除几何元素时起作用,只有满足该条件的记录才会被操作;
  9. batch-size:定义延迟加载时每批抓取集合元素的数量,默认是 : 1;
  10. access: 指定hibernate访问集合属性的策略,默认property;
  11. mutable:指定集合的元素是否可变;
  12. 因为集合属性都需要保存到另一个数据表中,所以保存集合属性的数据表必须包含一个外键列用于参照主键列,该外键列通过在<set....../><list....../>等集合元素中使用<key../>子元素来映射,

指定<key...../>元素时可以指定如下可选选项:

  • column:指定外键字段的列名;
  • on-delete:指定外键约束是否打开数据库级别的级联删除;
  • property:指定外键引用的字段是否为原表的主键;
  • not-null:指定外键列是否具有非空约束,如果指定非空约束,则意味着无论何时,外键总是主键的一部分;
  • update:指定外键是否可更新,如果不允许更新,则意味着无论何时外键总是主键的一部分!
  • unique:指定外键列是否具有唯一约束,如果指定唯一约束,则意味着无论何时,外键总是主键的一部分!

注意:当集合元素是基本类型,字符串类型,日期类型或其他符合类型,not-null默认为true;

 

 

 

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

相关推荐

Hibernate集合属性映射

通常情况下,我们在定义实体类时会遇到类的属性集合类型的,比如数组,列表等等,在这种情况下,我们对这个属性的操作是和之前对待整数型,大数据型的都不一样.Hibernate要求持久化一个集合值字段必须声明接口,这样做是为了在持久化一个实例时,Hibernate的会自动把程序中的集合实现类替换成Hibernate自己的集合实现类。在这种情况下,休眠提供了一个注解应对所有类型的属性:@ElementCo...

qq_40133908的博客 950

hibernate中的集合映射

在one-to-many(parent/child)关系中, 不妨假设对应表为parent和child,对应的POJO(javabean)为Parent和Child。在Parent中会定义一个元素为Child对象的集合。在hibernate3.2版本上,该集合支持set/bag/array/list/map类型,其中以set最为常用。1、set为无重复元素集合,而bag则允许元素有重复(bag

IT民工的小窝 904

hibernate中的集合映射详细解析

1.hibernate.cfg.xml配置 [html] view plain copy     "-//Hibernate/Hibernate Configuration DTD 3.0//EN"       "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">  

u011863767的博客 1009

Hibernate映射集合属性

集合属性大致有两种:第一种是单纯的集合属性,如像 List、Set 或数组等集合属性;另一种是Map结构的集合属性,每个属性值都有对应的Key映射。   集合映射的元素大致有如下几种: List: 用于映射 List 集合属性 Set: 用于映射 Set 集合属性 Map: 用于映射 Map 集合性 Array: 用于映射数组集合属性 Bag: 用于映射无序集合 idbag: 用于映射...

Janwer Weblog 189

hibernate集合映射的一些属性

1. 集合映射 集合属性属性 说明 默认值 name 映射属性的名字 access Hibernate访问这个属性的策略 默认值为property table 关联的目标数据库表 chema 目标数据库表的schema名字 catalog 目标数据库表的catalog名字 lazy 是否采用延迟加载

小黄鸡kimhuhg 295

Hibernate映射集合属性

集合属性大致有两种:一种是单纯的集合属性,例如List、Set或数组等集合属性;另一种是Map结构的集合属性,每个属性值都有对应的key映射。不管哪种类型的集合属性,都统一用@ElementCollection注解进行映射。使用@ElementCollection注解时可指定如下的属性Hibernate使用标准的@CollectionTable注解映射保存集合属性的表,使用该注解

owen_william的博客 3788

Hibernate映射文件之映射集合属性

Hibernate如何保存结合属性Hibernate会将集合属性中的内容保存在一个从表中,并通过外键列与主表相关联。   映射集合属性的元素 &lt;primitive-array/&gt;:专门用于映射byte、short、int、long等基本数据类型的数组,不能用来映射Integer等包装类型 &lt;array/&gt;:用于映射数组集合属性 &lt;list/&gt;...

Me 310

Hibernate映射集合属性&组件属性(注解版)

一:Hibernate映射集合属性 集合大致分为两种: 单列(List,Set,Array):Set比较特殊,因为它没有索引 多列(Map) 注:List集合可以用get(), Array可以用下标,Map集合可以用getKey() 1.1:映射集合属性之List 定义实体类,并描述其关系 引入核心配置文件 使用代码测试 1.1.1:定义实体类,并描述其关系 @Entity //将一个po...

qq_38777614的博客 591

HibernateHibernate集合映射与sort、order-by属性

常用集合Set、List、Map,相信大家都很熟悉,面试中也会经常问。Set和List都继承了Collection接口,Set是无序不可重复的,不可以存储相同的元素;而Lsit是顺序存储的,可存储重复元素。Map不是继承Collection的,Map提供key到value的映射,Map也是不可重复的(key不可重复),一个Map中不能包含相同的key,每个key只能映射一个value。 持久化类

LZGS_4的专栏 3680

浅谈Hibernate映射集合属性以及主键和外键

浅谈Hibernate映射集合属性以及主键和外键

VipMao的博客 4144

2 Hibernate映射 属性 主键 集合 组件 联合主键

Hibernate 提供了三种方式将POJO变成PO类 使用持久化注解(以JPA标准注解为主,如果有一些特殊要求,则依然需要使用Hibernate本身提供的注解) 使用JPA2提供的XML配置描述文件,这种方式可以让Hibernate的PO类与JPA实体类兼容 使用Hibern...

chunhuo3827的博客 201

hibernate集合映射属性详细解释

hibernate集合映射属性详细解释                                                      集合映射,总共有七种,最为常用的是list,set,map集合                      1.map集合映射 private Map address1 =new HashMap();                  

IT_COOKIE_SAM的博客 531
上一篇: struts2 手动校验原理图解
下一篇: 使用MyEclipse小结
younglibin
博客等级 码龄18年 6粉丝 288原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值