基于外鍵關(guān)聯(lián)的雙向一對一關(guān)聯(lián)也很常見。
<class name="Person"><id name="id" column="personId"><generator class="native"/></id><many-to-one name="address"column="addressId"unique="true"not-null="true"/></class><class name="Address"><id name="id" column="addressId"><generator class="native"/></id><one-to-one name="person"property-ref="address"/></class>
create table Person ( personId bigint not null primary key, addressId bigint not null unique )create table Address ( addressId bigint not null primary key )
基于主鍵關(guān)聯(lián)的一對一關(guān)聯(lián)需要使用特定的id生成器。
<class name="Person"><id name="id" column="personId"><generator class="native"/></id><one-to-one name="address"/></class><class name="Address"><id name="id" column="personId"><generator class="foreign"><param name="property">person</param></generator></id><one-to-one name="person"constrained="true"/></class>