【发布时间】:2012-07-13 11:26:23
【问题描述】:
我很难创建一个 HQL 查询来检查表“X”的记录“a”列表是否包含在同一个表“X”的另一个列表“b”中。
这是我正在使用的示例:
select r
from Role r
where (
select p
from Permission p
where p.name = 'test') in elements(r.permissions)
现在这个查询只是一个例子,澄清一下,每个角色都有1个或多个权限。
现在会发生什么,如果子选择(权限 p)返回 1 行,一切正常。但是如果选择了更多,则查询失败,因为我正在尝试检查列表是否在列表中...
我确定我在这里遗漏了一些东西,所以请提供任何帮助。
谢谢
【问题讨论】:
-
请包装您的查询,这样我们就不必滚动了。