我想知道什么是更好的方式来设计2个实体其中有许多一对多的关系?在数据库中,这两个实体之间将存在连接表.但是在创建实体时我是否必须遵循相同的方法?
例如:用户到用户组
用户可以属于许多组,并且组可以包含许多用户.
在关系数据库中,我将有3个表,如User,User2Group,Group
所以,当我创建我的JPA实体,应该我有3台3个实体,或只是2通过提供恰当的注解(@ManyToMany)实体.
由于我是JPA的新手,我试图从以下观点来理解好的和坏的一面:
谢谢,您的投入将不胜感激.
不,您不需要将连接表映射为实体.只需使用ManyToMany注释:
public class User {
...
@ManyToMany
private Set<Group> groups;
}
public class Group {
...
@ManyToMany(mappedBy = "groups")
private Set<User> users;
}
Run Code Online (Sandbox Code Playgroud)
如果连接表不是纯连接表,则只需要将连接表映射为实体,即,如果它具有其他信息,例如,用户在组中输入的日期.
映射对性能的影响很小.重要的是你如何使用和查询实体,以及如何设计数据库(索引等)
| 归档时间: |
|
| 查看次数: |
2345 次 |
| 最近记录: |