使用Hibernate(注释)创建两个从表A到表B的一对一关系
让我们从一个例子开始:使用Hibernate(注释)创建两个从表A到表B的一对一关系,hibernate,annotations,one-to-one,Hibernate,Annotations,One To One,让我们从一个例子开始: Person Address homeAddress Address workAddress Address Person person 地址不会与其他人共享(因此这绝对是一对一的关系 在数据库中设置相当容易,但我不知道如何在hibernate中配置它。我不想在Person对象中使用地址列表,而且我肯定需要从地址到Person的链接 解决方法是创建一个OneToMany,在地址(“家庭”或“业务”)上使用区分符,在Person对象上获取/设置/
Person
Address homeAddress
Address workAddress
Address
Person person
地址不会与其他人共享(因此这绝对是一对一的关系
在数据库中设置相当容易,但我不知道如何在hibernate中配置它。我不想在Person对象中使用地址列表,而且我肯定需要从地址到Person的链接
解决方法是创建一个OneToMany,在地址(“家庭”或“业务”)上使用区分符,在Person对象上获取/设置/添加地址时,处理筛选器。我可以这样修复它:
Person
Address homeAddress
Address workAddress
Address
Person personForHomeAddress
Person personForWorkAddress
Person getPerson(){
return personForHomeAddress != null ? personForHomeAddress : personForWorkAddress
}
void setPerson(Person person){
...
}
这不是最优的,因为我的地址表中需要2列,但我可以在hibernate中保持2个一对一的关系
还有其他想法吗