Hibernate一对一主键关联映射

来源:互联网 发布:316不锈钢发热丝数据 编辑:程序博客网 时间:2024/05/18 22:12

Hibernate一对一主键关联映射

(单向person--->IdCard)
一对一主键关联映射,让两个实体对象的id保持相同,这样可以避免多余字段的生成

具体的配置文件:

<class name="Person">
<!-- Person 的主键来源于IdCard,也就是Person与IdCard共享主键 -->
<id name="id">
<generator class="foreign">
<param name="property">idCard</param>
</generator>
</id>

<property name="name"/>
<!--
1.one-to-one 标签的含义,指示hibernate如何加载他的关联对象,默认根据主键加载
2.constrained="true" 表面当前的主键存在一个约束,person的主键作为外键参照了IdCard
-->
<one-to-one name="idCard" constrained="true"/>
</class>



(双向person<---->IdCard):

在IdCard的配置文件中加入<one-to-one>标签指向person,指示hibernate如何加载person
默认根据主键加载




Hibernate 一对一唯一外键关联映射

(单向)
一对一唯一外键关联映射是多对一的特例,因此可以是使用<many-to-one>标签,但是要指定多的一段unique=true,这样就限定了多的一段的唯一性
<many-to-one name="idCard" column="cid" unique="true"/>

(双向)
一对一唯一外键双向关联映射,需要在少的一段添加<one-to-one>标签,指示hibernate如何加载关联对象,默认根据主键加载person对象,在外键关联映射中使用的是外键来维护两个实体的关系,所以不能根据主键来加载person,而是要通过外键来加载,所以要通过配置文件来指定:
<one-to-one name="person" foreign-key="idCard"></one-to-one>



原创粉丝点击