基于外键映射:对于1-1外键关联,其外键可以存放在任意的一边,在需要存放外键的一端,增加many-to-one元素,为many-to-one增加unique="true"属性:另一端使用one-to-one元素,该元素使用property-ref属性指定使用关联实体主键以外的字段
<?xml
version="1.0"
?>
<!DOCTYPE
hibernate-mapping
PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
>
<!-- Generated 2016-7-13 17:07:06 by
Hibernate
Tools 3.4.0.CR1 -->
<hibernate-mapping>
<class
name="com.lidongyang.hibernate.Department"
table="DEPARTMENT"
>
<id
name="id"
type="java.lang.Integer">
<column
name="ID"
/>
<generator
class="native"
/>
</id>
<property
name="name"
type="java.lang.String">
<column
name="NAME"
/>
</property>
<many-to-one
name="manager"
class="com.lidongyang.hibernate.Manager"
column="MANAGER_ID"
unique="true"
></many-to-one>
</class
>
</hibernate-mapping>
<?xml
version="1.0"
?>
<!DOCTYPE
hibernate-mapping
PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
>
<!-- Generated 2016-7-13 17:07:06 by
Hibernate
Tools 3.4.0.CR1 -->
<hibernate-mapping>
<class
name="com.lidongyang.hibernate.Manager"
table
="MANAGER">
<id
name="id"
type="java.lang.Integer">
<column
name="ID"
/>
<generator
class="native"
/>
</id>
<property
name="name"
type="java.lang.String">
<column
name="NAME"
/>
</property>
<one-to-one
name="department"
class="com.lidongyang.hibernate.Department"
property-ref="manager"
></one-to-one>
</class
>
</hibernate-mapping>