基于外键关联的单向一对一关联和单向多对一关联几乎是一样的。唯一不同的就是单向一对一关联中的外键字段具有唯一性约束。需在单向多对一映射中的实体类多的一端配置unique=“true”。
基于外键一对一映射可分为单向和双向两种。
单向
示例:
Person类
public class Person {
private int id;
private String name;
private int age;
private IdCard idCard;
//省略get/set方法
}
IdCard类
public class IdCard {
private int id;
private String code;
//省略get/set方法
}
Person.hbm.xml配置文件
<hibernate-mapping package="com.test.pojo">
<class name="Person">
<id name="id">
<generator class="native"></generator>
</id>
<property name="name" />
<property name="age"/>
<!-- 多对一 name表示属性名 class指明属性对应的类
column指明数据库表中的列名
unique="true"时可以设置一对一的关系
-->
<many-to-one name="idCard" class="IdCard"
column="idCard_Id" foreign-key="fk_idCard"
unique=