1

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

ライブラリの問題のようですが、環境間で (Hibernate に関して) 矛盾はまだ見つかりません。

この種のエラーの原因は何ですか?

編集:

ソースは次のとおりです。

    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();
4

1 に答える 1

4

このエラーが 1 つのコンテナーで発生し、他のコンテナーでは発生しないのは非常に奇妙です。問題はここにあると思います:

WHERE c.case_id IN ()

したがって、Tomcat でも失敗することを意味します。したがって、実行しているクエリが両方でまったく同じかどうかを最初に確認します。

于 2011-02-01T16:03:24.777 に答える