hibernate学习记录6

来源:互联网 发布:面部表情捕捉软件 编辑:程序博客网 时间:2024/06/11 23:48

多对多关系映射(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>

0 0
原创粉丝点击