各エンティティの 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;
}
休止状態のドキュメントから:
所有エンティティで外部キー列を使用する一方向の 1 対多は、あまり一般的ではなく、あまりお勧めできません。
これが推奨されない理由と、jointable を使用する必要があるのはなぜですか?
これを解決するより良い方法はありますか?