Hibernate之映射值类型集合(映射list)

pom.xml:

 

 

resources/hibernate.cfg.xml:

 

 

pojo/Item.java:

 

 

pojo/Item.hbm.xml:

根据测试,list中有null值时,null值是插不进集合表中的,但也不会报错。

 

util/HibernateUtil.java:

 

 

util/Manager.java:

 

 

表结构:

 

 

输出sql:

 

 

 


 

 

 

上例中,<list>映射需要把一个索引列新增到集合表。索引列定义元素在集合中的位置。因而,hibernate能够保存集合元素的顺序。映射集合为<list>。

集合表的主键是ITEM_ID和POSITION的复合。注意,现在允许重复元素了,这与列表的语义一致。

持久化列表的索引从0开始,可以改变它,例如在映射中使用<list-index base="1".../>。注意,如果数据库中的索引数字不连续,hibernate就会把空元素添加到java列表中。

 

另一种方法,可以映射一个java数组而不是列表。hibernate支持这个。数组映射事实上与前一个例子是等同的,除了使用不同的元素和属性之外(<array>和<array-index>)。然而,基于前面阐述过的原因,hibernate应用程序很少使用数组。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值