1
Restrictions.inを使用しているときにHibernate Criteriaに問題が発生しています。制限に送信されたリストに値がない場合、クエリが表示されるために期待されるSQL GrammerExceptionがスローされますHIbernate Criteria Restrictions.in
のようなものは、ERR
com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near ')'. at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError SQLServerException.java:197)
---人物P Hibernateのログにp.id)(中
エラーから選択します*または春のログ...
org.hibernate.exception.SQLGrammarException: could not execute query
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:92
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
org.hibernate.loader.Loader.doList(Loader.java:2536)
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2276
org.hibernate.loader.Loader.list(Loader.java:2271
org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:119
org.hibernate.impl.SessionImpl.list(SessionImpl.java:1716
org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:347)
そして、それは
criteria.add(Restrictions.in("id", idList));
で引き起こしているコードには完全に反対である、私はこれをやってみましたが、それは、テーブル内のすべての値を返します。私が欲しいもの...リストのサイズが0の場合は...
if(idList.size()>0
criteria.add(Restrictions.in("id", idList));
何も返さないようにリストが内の任意の値を持っていないときに私は、クエリからの結果を得るないように私はここでどのような変更を行う必要がありますそれは例外の代わりにons ...あらかじめありがとう!
アロン..ありがとう! – RKodakandla