[英]Can an entity have more than one many-to-many relations?
我有一个表与两个不同的表有两个不同的多对多关系。 假设我有User
<---> UserRole
< - > Role
和User
< - > UserGroups
< - > Groups
。 由于我是hibernate和数据库映射的新手,我想知道如果我的User
实体中有属性角色和组,那么@ManytoMany
注释都是好的做法并且可以接受吗?
即:
@Entity(name = "User")
@Table(name = "USER")
public class User {
.... /* Obviously Id would go here and all other attributes */
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(name = "UserRole", joinColumns = { @JoinColumn(name="USER_ID") },
inverseJoinColumns = { @JoinColumn(name = "ROLE_ID") } )
private Set<Role> roles = new HashSet<Role>();
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(name = "UserGroup", joinColumns = { @JoinColumn(name="USER_ID") },
inverseJoinColumns = { @JoinColumn(name = "GROUP_ID") } )
private Set<Group> groups = new HashSet<Group>();
当然; 许多类型都有多个多对多。
我认为尽量减少多对多关系是一个好主意,但它是一种自然的结构,并且遍布各处。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.