我想维护每个实体的ACL信息。为此,我有以下实体:
@Entity
public class ACLEntry {
...
@Id
private Long id;
private Long sid;
private Integer permissionMask;
}
应为其保留acl信息的实体如下所示:
@Entity
public class Folder {
...
@Id
private Long id;
@OneToMany
@JoinColumn(name="entity_id")
private List<ACLEntry> aclEntries;
}
来自hibernate docs:
在拥有的实体中使用外键列的单向一对多并不常见 并没有真正推荐
为什么不推荐这个,为什么我要使用连接表?
有没有更好的方法来解决这个问题?
答案 0 :(得分:0)
ACLEntry应该引用父文件夹@ManyToOne