hibernate中的关系映射

来源:互联网 发布:应用中心源码 编辑:程序博客网 时间:2024/05/30 18:29

在*.hbm.xml文件中配置实体间的关系映射时:

首先,在要配置映射的位置写好相应的注释  

 <!-- ?属性,本类与?的?-->

如:<!-- users属性,本类与User的一对多 -->

再写相应的映射模板代码:

多对一:
<many-to-one name="" class="" column=""></many-to-one>
一对多(Set):
<set name="">
<key column=""></key>
<one-to-many class=""/>
</set>
多对多(Set):
<set name="" table="">
<key column=""></key>
<many-to-many class="" column=""></many-to-many>

</set>

最后,将第一个问号的属性填入name后的引号中,将第二个问号的属性填入class后的引号中, column后的内容即为第一个问号的属性名+Id后缀;

在一对多和多对多的关系中,key column值的即为另一方的column得值。

如:

<!-- department属性,本类与Department的多对一 -->
<many-to-one name="department" class="Department" column="departmentId"></many-to-one>


<!-- users属性,本类与User的一对多 -->
<set name="users">
<key column="departmentId"></key>
<one-to-many class="User" />
</set>


<!-- roles属性,本类与Role的多对多 -->
<set name="roles" table="user_role" lazy="false">
<key column="userId"></key>
<many-to-many class="Role" column="roleId"></many-to-many>
</set>


<!-- users属性,本类与User的多对多 -->
<set name="users" table="user_role">
<key column="roleId"></key>
<many-to-many class="User" column="userId"></many-to-many>
</set>

以上都是前段时间看的视频中,老师总结的~~~很有用微笑

0 0
原创粉丝点击