我很难创建一个 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 行,则一切正常。但是,如果选择了更多,则查询失败,因为我正在尝试检查列表是否在列表中...
我确定我在这里遗漏了一些东西,所以请提供任何帮助。
谢谢