2012-04-30 16 views
1

我想维护每个实体的ACL信息。为此,我有以下实体:使用外键列的单向OneToMany

@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文档:

单向一对多在自有实体中使用外键列不是那么常见 并非真正推荐

为什么不推荐这样做,为什么我应该使用连接表?

有没有更好的方法来解决这个问题?

回答

0

将AclEntry应该有父文件夹@ManyToOne参考

+0

我多个实体为其ACL信息应保持与@ManyToOne我只能引用只有我认为实体 –