基于外键映射:对于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
>