我想为每组用户和每个用户的联系人列表实现数据库。 为此,我想而不是创建数据库表,想要创建 Hibernate Pojo。
首先我想:
class User{
BigDecimal Id;
//Contact List
Set<User> contacts
}
但上面会创建数据冗余;
所以我想,创建用户作为主表 还有另一个班级联系
class User{
String userName;
BigDecimal userId;
@OneToOne;
Contact contact;
}
class Contact{
@OneToOne
User user;
@?;
Set<User> users;
}
但是我无法弄清楚Contact的用户集应该如何映射用户类。
请任何人建议什么应该是设计方法。
答案 0 :(得分:1)
用户&amp;联系表将是一对多的关系。 一个用户可以拥有多个联系人。
class User{
String userName;
BigDecimal userId;
@OneToMany(mappedBy = "user")
Set<Contact> contacts;
}
class Contact{
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "USER_ID")
User user;
}
USER_ID将成为用户表格中的主键。联系人表中的外键。
查看此link以获取示例