hibernate一对一关系 —- 主键同步

标签 : Hibernate 主键同步


Address.hbm.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="UTF-8"?>
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.itheima.domain" >
<class name="Address" table="t_Address" >
<id name="id" column="id" >
<generator class="foreign">
<!-- 作为外键时引用哪个属性 -->
<param name="property">company</param>
</generator>
</id>
<property name="name" column="name" type="string" ></property>
<!-- 配置一对一关系 -->
<one-to-one name="company" class="Company" constrained="true" ></one-to-one>
</class>
</hibernate-mapping>

Company.hbm.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?xml version="1.0" encoding="UTF-8"?>
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.itheima.domain" >
<class name="Company" table="t_Company" >
<id name="id" column="id" >
<generator class="native"></generator>
</id>
<property name="name" column="name" type="string" ></property>
<!-- 配置一对一
one-to-one : 默认使用主键同步策略完成一对一的表关系体现.
cascade:
fetch:
lazy:
-->
<one-to-one name="address" class="Address"> </one-to-one>
</class>
</hibernate-mapping>