1
我在使用Restrictions.in時遇到了Hibernate Criteria問題。如果發送到限制的列表沒有任何值,那麼它會拋出SQL GrammerException,這是因爲查詢會顯示像HIbernate標準限制.in
從人員p選擇*,其中p.id在Hibernate的日誌()
錯誤---
com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near ')'. at
com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError
SQLServerException.java:197)
ERR或在春季日誌...
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