Hibernate加入另一个连接表

时间:2012-03-23 23:59:10

标签: java hibernate hibernate-annotations

假设我有三节课; 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<???> ??????

} 

有办法吗?

感谢

1 个答案:

答案 0 :(得分:0)

我不相信用你当前的对象结构有一种自然的方法,但这是因为你的对象没有以适合你需要的方式定义。

如果要将用户帐户实体与相关用户组和角色列表关联,而不是仅关联到用户组或仅关联角色,则需要创建表示该组合的实体。

大致如下:

创建与UserGroupWithRoleUserGroup具有多对一关系的Role实体,而不是让用户组与由连接表定义的多对多关系中的角色相关联。 UserGroupWithRole,并为您UserAccount中的{{1}}个实体列表创建关系。