Hibernate一对一主键映射
------------------------------ ------------------------------
| Users | | Resume |
|----------------------------| FK_USERRESU |----------------------------|
| UserId number(6) <pk,fk> | <------------- | ResId number(6) <pk> |
| UserPass nvarchar2(20) | | ResName nvarchar2(20) |
| UserPass nvarchar2(20) | | RescardNo nvarchar2(20) |
------------------------------ ------------------------------
User表中UserId字段是主键,同时作为外键参照Resume表的主键,即User表与Resume表共享主键
在Resume.hbm.xml进行配置
<one-to-one name="users"
class="com.entity.Users"
cascade="all"
/>
在Users.hbm.xml进行配置
<one-to-one name="resume"
class="com.entity.Resume"
constrained="true"
/>
注:constrained属性为true,表明Users表中的UserId主键同时作为外键参照resume表的主键。在
User.hbm.xml文件中,必须为OID使用foreign主键生成策略
<id name="userid" tyep="java.lang.Integer" column = "UserId">
<generator class="foreign">
<param name="property">resume</param>
</generator>
</id>