2010-12-05 36 views
0

以下(簡化)類是通過Hibernate的映射到數據庫:像「包含的任何」在HQL

class SystemUser { 
    Set<UserGroup> groups; 
} 

class UserGroup { 
    Set<Integer> permissions; 
} 

我如何可以選擇所有SystemUsers具有一定的權限,比方說允許3,與HQL?

回答

2

也許是這樣的:

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