【发布时间】:2014-08-24 10:16:51
【问题描述】:
我正在尝试编写一个 HQL 查询来获取属于特定组织的用户列表,或者从加盟商列表中获取任何加盟商,但是 hibernate 无法解析它。我不知道为什么。这是 HQL:
from User u where
(u.parentOrganisation = :topLevelOrganisation or u.parentOrganisation in :franchisees)
and u.parentOrganisation.deleted = false
and u.active = true
这是hibernate吐出来的错误:
unexpected AST node: {vector} [from com.myapp.User u where (u.parentOrganisation = :topLevelOrganisation or u.parentOrganisation in :franchisees0_, :franchisees
1_, :franchisees2_) and u.parentOrganisation.deleted = false and u.active = true]. Stacktrace follows:
Message: unexpected AST node: {vector} [from com.myapp.User u where (u.parentOrganisation = :topLevelOrganisation or u.parentOrganisation in :franchisees0_, :fr
anchisees1_, :franchisees2_) and u.parentOrganisation.deleted = false and u.active = true]
如果我取出or u.parentOrganisation in :franchisees 位,那么我的查询如下所示:
from User u where
(u.parentOrganisation = :topLevelOrganisation)
and u.parentOrganisation.deleted = false
and u.active = true
然后它工作正常。我的语法有什么问题?为什么hibernate抱怨那个额外的子句?
【问题讨论】: