hibernate中的 一对一独一外键双向关联
1、一对唯一外键关联映射是多对一关联映射的特例,可以采用<many-to-one>标签,指定多的一端的unique=true,这样就限 制了多的一端的多重性为一,通过这种手段映射一对一唯一外键关联
2、一对唯一外键关联映射——双向
一对一唯一外键关联双向,需要在另一端(passcard),添加<one-to-one>标签,指示hibernate如何加载其关联对象,默认根据主键加载person,外键关联映射中,因为两个实体采用的是person的外键维护的关系,所以不能指定主键加载passcard,而要根据passcard的外键加载
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.pk.po">
<class name="Passcard">
<id name="id">
<generator class="native"></generator>
</id>
<property name="code"></property>
<many-to-one name="person" column="per_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">
<hibernate-mapping package="com.pk.po">
<class name="Person">
<id name="id">
<generator class="native"></generator>
</id>
<property name="name"></property>
<one-to-one name="passcard" property-ref="person"></one-to-one>
</class>
</hibernate-mapping>