hibernate学习记录6

多对多关系映射(teacher - student)

实际使用中一般转换成一对多关系,hibernate会创建中间关联表,转换成两个一对多关系。

----------------------------------------------------------------------------------------------------------------------------------------

组合关联关系

比如User表中,用户名分为firstName,laseName,我们可以把name另外建一张表与User表相关联,也可以在User表中添加两个字段共同作为User的姓名。在User.hbm.xml文件中的表达方式如下:

<component name="userName">
<property name="firstName" column="first_name"/>
<property name="lastName" column="last_name"/>
</component>

当两张表对象有关联时,想把他们保存在两张表时,用一对一或者多对一关联;当两张表对象有关联时,想把他们保存在一张表上时,使用组合关联关系。

----------------------------------------------------------------------------------------------------------------------------------------

hibernate中使用集合类

Set集合

<set name="emps">
<key column="depart_id"/>
<one-to-many class="Employee" />
</set>

List集合

<list name="emps">
<list-index column="order_clo"/>
<key column="depart_id"/>
<one-to-many class="Employee"/>
</list>

hibernate中特有集合

<bag name="emps">
<key column="depart_id"/>
<one-to-many class="Employee" />
</bag>

在Java代码中使用List集合,但是在持久化中不需要保存数据的顺序,则可以用bag

Map集合

<map name="emps">
<map-key type="string" column="name"/>
<key column="depart_id"/>
<one-to-many class="Employee" />
</map>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值