2011-05-27 26 views
4

我想從數據庫SELECT中排除一堆結果SELECT使用「NOT IN」關鍵字,但排除列表仍在返回中。使用JPQL(JPA2.0)我的查詢是這樣的:JPQL查詢不使用「NOT IN」命令

Query query = em.createQuery("SELECT foo.id FROM FooEntity fooEntity WHERE foo.id NOT IN ('" + exclusionList.toString() + "') ORDER BY foo.id").setFirstResult(startPosition).setMaxResults(numberOfAppsToReturn); 

exclusionList是一個StringBuffer。沒有報告可以看到的錯誤,但排除列表中的ID仍然返回。有沒有其他的JPQL方法來做到這一點?

在此先感謝。

回答

4

我認爲這個錯誤在foo。什麼是你必須在哪裏定義它。

寫的FooEntity foo代替FooEntity fooEntity

有以下網址看看。

JPQL, How to NOT select something

+0

喜迪帕克,剛發現這個問題是我的StringBuilder內,我整個列表用單引號包圍,而不是周邊列表中的每個項目以一個單引號。例如,('item1,item2,item3 ...')而不是('item1','item2','item3'...)我會投票支持你的回答,表示感謝回覆。 – MeanwhileInHell 2011-05-27 14:22:49

+0

歡迎。你自己解決了你的問題 – 2011-05-27 14:25:45