1
我有一個GrantedRole
類,允許特定的角色在一個或多個Site
的授予,如:JPA/HQL - 查找與包含一個或多個特定的元素一個一對多的關係行
public class GrantedRole {
private RoleType role;
private User granter;
private User grantee;
private Collection<Site> grantSites;
@Column(nullable = false)
public UserRoleType getRole() {
return role;
}
@ManyToOne(optional = false, fetch=FetchType.LAZY)
public User getGranter() {
return granter;
}
@ManyToOne(optional = false, fetch=FetchType.LAZY)
public User getGrantee() {
return grantee;
}
@ManyToMany
public Collection<Site> getGrantSites() {
return grantSites;
}
}
我試圖拿出的是,會發現所有的GrantedRole
「一個特定的授予者已經給出了S作一個或多個指定Site
」在他們grantSites
系列S查詢。因此,像:
SELECT g FROM GrantedRole g WHERE g.granter = :granter AND
g.grantSites [contains at least one of] (:sites)
...但我不知道什麼語法使用[contains at least one of]
,或者如果這甚至有可能使用JPA/HQL。有什麼建議麼?