質問

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();
役に立ちましたか?

解決

このエラーが1つの容器で発生するのは本当に奇妙ですが、他の容器ではそうではありません。問題はここにあると思います:

ここでc.case_id in()

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top