Java Jpa查询在Jetty Embedded上工作,但部署到Jetty时不运行
问题是Java Jpa查询在Jetty Embedded上工作,但部署到Jetty时不运行,java,jetty,persistence,openjpa,Java,Jetty,Persistence,Openjpa,问题是 em.createQuery("select bp from BlogPost bp WHERE ?1 MEMBER OF bp.categories") .setParameter(1, c) .getResultList(); 在我的集成测试容器中,它运行良好,它位于代码中的定制Jetty实例上 但是,当使用gradle jettyRun或jettyRun部署时,它无法运行上面的查询,我得到一个空白的结果集和以下错误
em.createQuery("select bp from BlogPost bp WHERE ?1 MEMBER OF bp.categories")
.setParameter(1, c)
.getResultList();
在我的集成测试容器中,它运行良好,它位于代码中的定制Jetty实例上
但是,当使用gradle jettyRun或jettyRun部署时,它无法运行上面的查询,我得到一个空白的结果集和以下错误
4528简单警告[1241194115@qtp-739763767-0]openjpa.Runtime-
提供的用户参数[1]与预期参数[]不匹配
对于准备好的查询PreparedQuery:[从BlogPost bp中选择bp
其中?1个bp.categories成员]->[选择t0.id,t2.id,
t2.accessLevel、t3.id、t3.address1、t3.address2、t3.city、t3.country、,
t3.家庭电话,t3.手机,t3.邮政,t3.省,t2.标识符,
t2.password_md5,t0.body,t0.dateCreated,t0.datePublished,t0.title
从BlogPost t0内部加入t0.id上的BlogPost_BlogCategory t1=
t1.BLOGPOST_ID LEFT-OUTER在t0.author=t2.ID LEFT-OUTER上加入用户t2
加入t2上的ContactInfo t3。联系人信息=t3.id,其中t1.id
为空]
我可以围绕它编写代码,但是的成员使它简单了很多,奇怪的是,根据它在web容器中的部署方式,它的运行方式有所不同。这是OpenJpa中的某种错误 我想,我正在使用JPA,所以让我们切换到hibernate,看看它是如何运行的,hibernate有点严格,迫使我稍微更改注释和类。但20分钟后,问题解决了。不仅如此,其他隐藏的问题也得到了解决 所以我想我将把Hibernate称为我的解决方案。如果有参数、配置或其他信息,集体可能需要这些信息,但我的决议得到了满足