Nhibernate筛选器树权限

Nhibernate筛选器树权限,nhibernate,hql,Nhibernate,Hql,我正在尝试创建一个HQL查询,该查询将根据用户筛选树 在树根上我有AllowUsers和AllowRoles,在每个节点上我有DenyUsers和DenNodes。我可以使用 select e from oStructureMenu e join fetch e.Nodes n where e.Id = :id and :user in (select u from e.AllowUsers u) 但当我加上 and :user in (select f.DenyUsers f

我正在尝试创建一个HQL查询,该查询将根据用户筛选树

在树根上我有AllowUsers和AllowRoles,在每个节点上我有DenyUsers和DenNodes。我可以使用

select e 
from oStructureMenu e 
  join fetch e.Nodes n 
where e.Id = :id 
  and :user in (select u from e.AllowUsers u)
但当我加上

and :user in (select f.DenyUsers from n f)
创建的sql有语法错误

此外,我不知道如何将用户的角色与允许或拒绝角色集合中的角色进行比较

任何帮助都将不胜感激……

不是吗

and :user in (select f from n.DenyUsers f)

从n f中选择f.DenyUsers是什么意思?比较角色是什么意思?不,DenyUsers在节点中而不是根节点中,但我确实将DenyUsers的位置更改为n而不是f,并且成功了,谢谢!关于我的另一个问题,我将如何比较HQL中角色集合的内容?