Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jpa查询在Jetty Embedded上工作,但部署到Jetty时不运行_Java_Jetty_Persistence_Openjpa - Fatal编程技术网

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称为我的解决方案。如果有参数、配置或其他信息,集体可能需要这些信息,但我的决议得到了满足