假设我有三节课; UserAccount,UserGroup和Role。
UserGroup和Role就像;
public class UserGroup{
.....
@ManyToMany
@JoinTable(name="..." .......)
List<Role> roleList=new ArrayList<Role>();
}
public class Role{
@ManyToMany(mappedBy="roleList")
List<UserGroup> groupList=new ArrayList<UserGroup>();
}
我想将UserAccount类与描述UserGroup和Role
之间关系的连接表联系起来public class UserAccount{
...
@OneToMany
@JoinTable(???????)
List<???> ??????
}
有办法吗?
感谢
答案 0 :(得分:0)
我不相信用你当前的对象结构有一种自然的方法,但这是因为你的对象没有以适合你需要的方式定义。
如果要将用户帐户实体与相关用户组和角色列表关联,而不是仅关联到用户组或仅关联角色,则需要创建表示该组合的实体。
大致如下:
创建与UserGroupWithRole
和UserGroup
具有多对一关系的Role
实体,而不是让用户组与由连接表定义的多对多关系中的角色相关联。 UserGroupWithRole
,并为您UserAccount
中的{{1}}个实体列表创建关系。