【发布时间】:2012-10-31 05:49:25
【问题描述】:
我有班级用户和班级地址。 地址仅包含 4 个属性:
publiс class Address {
private Long id;
private String country;
private String city;
private String street;
// getters and setters
}
用户结构:
public class User {
private Long id;
private String name;
private Address homeAddress;
private Address businessAddress;
// other fields and methods
}
当一个实体(User)有两个(或更多)具有自己类型的某些自定义类的字段(地址)?
如果用户只有一个地址,这将是一对多的关系。但是这个案子呢?如何在我的系统中正确定义这些对象?
我尝试在地址类中创建另一个字段users:
@OneToMany(mappedBy = "?")
private List<User> users;
但这不是我的问题的解决方案,因为在 User 类中有两个 Address 类型的字段。而且不清楚是不是必须在mappedBy注解中定义...
如果有任何建议,我将不胜感激!
【问题讨论】:
-
我会说这是一对一的关系。两个人可以拥有相同的物理地址,但他们应该拥有两个分开的地址行,因为如果其中一个人移动到另一个地址,另一个人也不需要移动。
标签: hibernate jpa orm jpa-2.0 relationship