1、hibernate中一对多关联
数据库中的表有三种关联关系:一对一,一对多,多对多。
建表原则:
一对多:在多的一方创建外键指向一的一方的主键.
多对多:建立一个中间表,中间表中至少要有两个字段,作为外键分别指向多对多双方的主键。
一对一:1)假设任意一方为多的一方,然后参考一对多建表;2)一方的主键作为另外一方的主键
数据库表在java中为java实例类,如何在java中表现多个表之间的关联关系:
在hibernate映射文件的配置:
- 一对多中一的一方映射文件的配置
<!-- 集合 一对多关系在一的一方的映射文件中配置 -->
<!--
set中name为一的一方实例类中集合属性的名称
key中column为多的一方表中外键的列名
one-to-many中 class是多的一方的实例类的完整类名
-->
<set name="linkMens">
<key column="lkm_cust_id"></key>
<one-to-many class="LinkMan"/>
</set>
多的一方映射文件配置
<!-- 多对一即多的一方的映射文件配置 -->
<!--
name是引用属性名
column是外键自动名
class是关联对象的完整类名
-->
<many-to-one name="customer" column="lkm_cust_id" class="Customer"></many-to-one>
2.核心配置文件
有多少个映射文件则有多少个mapping标签
<mapping resource="cn/itheima/domain/Customer.hbm.xml"/>
<mapping resource="cn/itheima/domain/LinkMan.hbm.xml"/>