我有以下休眠实体
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 个结果,这将导致重复的容器结果。
有谁知道如何解决这个问题?