在 Tomcat 上运行应用程序时,我没有收到任何错误。在 Oracle (OC4J) 10.1.3 上运行时,我得到以下信息:
org.hibernate.hql.ast.QuerySyntaxError: unexpected end of subtree [
SELECT c, cc, pa, ta
FROM com.test.CASE c
LEFT OUTER JOIN c.personadmin pa
LEFT OUTER JOIN c.termadmin ta
LEFT OUTER JOIN c.caseChannel cc
WHERE c.case_id IN ()
ORDER BY c.case_id, cc.caseChannelCd ]
...
Caused by: <AST>: unexpected end of subtree
似乎是一个库问题,但我还没有发现环境之间的任何不一致(关于休眠)。
什么可能导致这种类型的错误?
编辑:
这是来源:
String hql = " SELECT c, cc, pa, ta "
+ " FROM CASE c "
+ " LEFT OUTER JOIN c.personadmin pa "
+ " LEFT OUTER JOIN c.termadmin ta "
+ " LEFT OUTER JOIN c.caseChannel cc "
+ " WHERE c.case_id IN (:caseIds) "
+ " ORDER BY c.case_id, cc.caseChannelCd ";
Query query = getSession().createQuery(hql);
query.setParameterList("caseIds", caseIdList);
results = query.list();