以下(简化的)类通过Hibernate映射到数据库:

class SystemUser {
    Set<UserGroup> groups;
}

class UserGroup {
    Set<Integer> permissions;
}


如何使用HQL选择具有特定权限(例如权限3)的所有SystemUser?

最佳答案

也许是这样的:

select distinct u from SystemUser u join u.groups g
where 3 in elements(g.permissions)

10-04 14:13