我有一张桌子
权限:
和表格 PermissionCategory 与权限
的一对多关系是否可以在一对多关系中返回地图而不是列表。 这就是我现在在 PermissionCategory 域中所做的事情:
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinTable(name = "perm_cat_map", joinColumns = { @JoinColumn(name = "perm_cat_id") }, inverseJoinColumns = { @JoinColumn(name = "permission_id") })
private List<Permission> permissions = new ArrayList<Permission>(0);
可能有类似的东西:
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinTable(name = "perm_cat_map", joinColumns = { @JoinColumn(name = "perm_cat_id") }, inverseJoinColumns = { @JoinColumn(name = "permission_id") })
private Map<String,String> permissions = new ArrayList<String,String>(0);
两个字符串为 permission_id , permission_name 。
请告知,谢谢。
答案 0 :(得分:2)
否:您如何向此地图添加新权限?
但您可以拥有Map<String, Persmission>
(请参阅http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html_single/#d0e10955),或者您可以为您的实体添加特定方法:
public Map<String, String> getPermissionMap() {
Map<String, String> result = new HashMap<String, String>(permissions.size());
for (Permission p : permissions) {
result.put(p.getId(), p.getName());
}
return result;
}
答案 1 :(得分:0)