[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>

扫描二维码关注公众号,回复: 1773399 查看本文章

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();

猜你喜欢

转载自www.cnblogs.com/zienzir/p/9235102.html