技术说明:
Hibernate注释- 3.4.0.GA
爪哇1.5
table:用户角色分支columns:用户 ID、角色 ID、分支 ID
对于公司的不同分支机构,用户被分配不同的角色。
现在我有一个 java pojo 类
public class branch
{
@ManyToMany
@JoinTable(name = "users_roles_branches", joinColumns = { @JoinColumn(name="branch_id") }, inverseJoinColumns = { @JoinColumn(name = "role_id") })
@MapKeyManyToMany(joinColumns = { @JoinColumn(name = "user_id", unique = false) })
public Map<User, Role> getUserRoleMap() {
return userRoleMap;
}
}
基本要求是检索分配给分支中不同用户的角色列表。
面临的问题:由于一个用户可以分配多个角色,因此映射不适用于用户角色映射数据。
一种解决方案可能是 Map>,但我怀疑是否可以在休眠中使用嵌套集合。
请帮帮我!
如果问题无法理解或无法呈现,请告诉我。
我的建议是在您的领域模型中引入一个新概念RoleAssignment
:
class RoleAssignment {
private User user;
private Branch branch;
private Role role;
}
实体User
, Branch
and Role
应该与 1:N 关系RoleAssignment
。例如:
class User {
private Set<RoleAssignment> roleAssignemnts;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)