私は次の休止状態のエンティティを持っています
public class Container {
...
@OneToMany
private List<ACLEntry> aclEntries;
}
コンテナ インスタンスを保護するために、次のエンティティを使用します。
public class ACLEntry {
...
private Long sid;
private boolean principal;
private Integer mask;
}
hql-queries は自動的に作成されるため、コンテナー インスタンスを検索するために、次のクエリが作成されます。
select container from Container container
inner join container.aclEntries as aclEntry
with bitwise_and (aclEntry.mask, 1) = 1 and
(aclEntry.sid = :userId or aclEntry.sid = :roleId)
これに関する問題は、aclentry 結合が 2 つの結果を返す可能性があり、結果としてコンテナーの結果が重複することです。
これを解決する方法を知っている人はいますか?