Hibernate XML一对一主键关联 单向+双向

来源:互联网 发布:手机淘宝联盟怎么样 编辑:程序博客网 时间:2024/05/21 21:47

1.单向关联

(1)基于主键关联的持久化类不能拥有自己的主键生成策略,必须依附于关联类,由关键类来生成主键。

(2)一对一主键映射中,默认了cascade属性。

示例:A---->B 在A中持有B的引用

B的映射文件:

<hibernate-mapping><class name="包名+B"><id name="id"><generator class="native"></generator></id><property name="..."></property>。。。。。。</class>


A的映射文件:

<hibernate-mapping><class name="包名+A"><id name="id"><generator class="foreign"><param name="property">B在A中的引用</param></generator></id><property name="..."></property>                      ......<one-to-one name="B在A中的引用" constrained="true"></one-to-one></class>


(1)一对一主键关联映射可以避免多余的字段被创建,因为两个实体对象的id保持相同。

(2)从A的映射文件:主键的生成策略来看依附于B在A中的引用,即依附于B。

 

2.双向关联

   A<------->B

修改B的配置文件如下:

<hibernate-mapping><class name="包名+B"><id name="id"><generator class="native"></generator></id><property name="..."></property>........<one-to-one name="A在B中的引用"></one-to-one></class></hibernate-mapping>