I am a Solivagant
Lofter    Posts     新文章     文章管理     新日记     日记管理

[Hibernate] one-to-one

  两个实体类对应的数据库table需要拥有相同的主键.

比如A类和B类,A有属性id,B类也有相同属性id.

在A类中设置属性 B b;

在B类中设置属性 A a;

在表格A和B中,id都是主键.

在B中id不仅是主键还是外键.

 

此时对于A的配置文件如:

<id name="id" column="id" type="integer">
<generator class="assigned"/> </id>

B.hbm.xml中以a为外键的参数.也就是外键id对应a中的主键id.

<class name="B" table="B">
<!-- id是主键 -->
<id name="id" column="id" type="integer">
<generator class="foreign">
<param name="property">a</param>
</generator>
</id>

Test:

A a=new A(1);

B b=new B(null);

a.setB(b);

b.setA(a);

session.save(a);

session.save(b);

session.beginTransaction().commit();

 

posted @ 2018-06-27 17:31  宛如ZZ  阅读(450)  评论(0编辑  收藏  举报