【问题标题】:JPQL query not using "NOT IN" commandJPQL 查询未使用“NOT IN”命令
【发布时间】:2011-09-03 10:18:21
【问题描述】:

我正在尝试使用“NOT IN”关键字从数据库 SELECT 中排除一堆结果,但仍在返回排除列表。使用 JPQL (JPA2.0) 我的查询看起来像:

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 方法可以做到这一点?

提前致谢。

【问题讨论】:

    标签: java jpa jpa-2.0 jpql


    【解决方案1】:

    我认为错误在于foo。什么是 foo 你必须在任何地方定义它。

    FooEntity foo而不是FooEntity fooEntity

    查看以下网址。

    JPQL, How to NOT select something

    【讨论】:

    • 嗨,Deepak,刚刚发现问题出在我的 stringBuilder 中,我用单引号将整个列表括起来,而不是用单引号将列表中的每个项目括起来。例如, ('item1,item2,item3...') 而不是 ('item1','item2','item3'...) 我会投票支持您的回答,感谢您的回复。
    猜你喜欢
    • 2021-02-10
    • 2014-12-28
    • 1970-01-01
    • 1970-01-01
    • 2012-04-17
    • 1970-01-01
    • 2011-08-27
    • 1970-01-01
    • 2013-05-23
    相关资源
    最近更新 更多