我在这里问了一个关于如何设计数据库模式的问题。
总之,我有一个可以包含联系人和组的地址簿。组也可以包含联系人,但只能包含与他们在同一地址簿中的联系人。
通讯录
通讯录编号
联系人
ID
地址簿 ID
组
id
组 id
Group To Contact
id
Addressbook id
Contact id
Group id
通过将地址簿 ID 添加到多对多关系表中,我可以强制地址簿匹配。然而,我对休眠比较陌生,所以:
@Entity
@Table(name = "Contact")
public class Contact
{
Addressbook addressbook;
//----bidirectional association
private List groups = new ArrayList();
//----
}
@Entity
@Table(name = "Group")
public class Group
{
Addressbook addressbook;
//----bidirectional association
private List contacts = new ArrayList();
//----
}
因此,在开始时,我将拥有上述两个表,并且我需要由 hibernate 以一种在添加或修改集合中的对象时强制地址簿 ID 匹配的方式来控制集合。