2012-04-30 18 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我只能引用只有我認爲實體 –