3
我有一個表,它有兩個不同的多對多關係到兩個不同的表。比方說,我有User
< --->UserRole
< - >Role
和User
< - >UserGroups
< - >Groups
。由於我是休眠和數據庫映射的新手,我想知道如果讓我的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>();