【发布时间】:2014-04-24 05:45:18
【问题描述】:
查询是
em.createQuery("select bp from BlogPost bp WHERE ?1 MEMBER OF bp.categories")
.setParameter(1, c)
.getResultList();
在我的集成测试容器中,它运行良好,它位于我的代码中的自定义 Jetty 实例上。
但是,当使用 gradle jettyRun 或 jettyRunWar 部署时,它无法运行上面的查询,我得到一个空白结果集和以下错误。
4528 简单警告 [1241194115@qtp-739763767-0] openjpa.Runtime - 提供的用户参数“[1]”与预期参数“[]”不匹配 对于准备好的查询“PreparedQuery:[从 BlogPost bp 中选择 bp WHERE ?1 bp.categories 的成员] --> [SELECT t0.id, t2.id, t2.accessLevel, t3.id, t3.address1, t3.address2, t3.city, t3.country, t3.homephone, t3.mobilephone, t3.postal, t3.province, t2.identifier, t2.password_md5, t0.body, t0.dateCreated, t0.datePublished, t0.title 从 BlogPost t0 INNER JOIN BlogPost_BlogCategory t1 ON t0.id = t1.BLOGPOST_ID LEFT OUTER JOIN 用户 t2 ON t0.author = t2.id LEFT OUTER 加入 ContactInfo t3 ON t2.contact Info = t3.id WHERE (t1.CATEGORIES_ID IS NULL)]"。
我可以围绕它编写代码,但 MEMBER OF 使它变得更简单,奇怪的是,根据它在 Web 容器中的部署方式,它的运行方式不同。
【问题讨论】:
标签: java jetty persistence openjpa