现实生活中,一对一(One To One)关系的实体比比皆是。比如,人和身份证的关系,人和社会属性的关系等。
在Hibernate中,OneToOne关系分为两种策略:主键关联和唯一外键关联。主键关联,就是两个一对一的实体共用相同的id。比如,人(Person)和身份证(IdCard),将Person的id主键,关联到IdCard的主键。这样,两个实体,就通过主键关联在一起了。唯一外键的含义也很明确。就是在Person实体中定义一个额外的字段,比如card_id,用这个字段外键关联到IdCard的主键id。
下面就让我们看看主键关联:
Person.java
Idcard.java
以上是两个实体。
Person.hbm.xml
Idcard.hbm.xml
以上是Person.java和Idcard.java对应的映射文件。
上面是PersonDao.java,封装了对Person实体的基本操作。
上面是PersonDao的测试类。