em.createQuery("select bp from BlogPost bp WHERE ?1 MEMBER OF bp.categories")
.setParameter(1, c)
.getResultList();
在我的綜合測試容器運行良好,這是一個自定義碼頭比如我有我的代碼。
但是,當使用gradle jettyRun或jettyRunWar進行部署時,它無法運行上面的查詢,我得到一個空白結果集並出現以下錯誤。
4528簡單WARN [1241194115 @ QTP-739763767-0] openjpa.Runtime - 提供用戶參數 「[1]」 不符合預期的參數 「[]」 爲準備查詢「PreparedQuery:選擇bp from BlogPost bp where?1 MEMBER OF bp.categories] - > [SELECT t0.id,t2.id, t2.accessLevel,t3.id,t3.address1,t3.address2,t3.city,t3。國家, t3.homephone,t3.mobilephone,t3.postal,t3.province,t2.identifier, t2.password_md5,t0.body,t0.dateCreated,t0.datePublished,t0.title FROM BlogPost t0 INNER JOIN BlogPost_BlogCategory t1 ON t0.id = t1.BLOGPOST_ID LEFT OUTER JOIN U ser t2 ON t0.author = t2.id LEFT OUTER JOIN ContactInfo t3 ON t2.contact Info = t3.id WHERE(t1.CATEGORIES_ID IS NULL)]「。
我可以只圍繞它的代碼,但成員使它簡單了很多,這是奇怪的是,這取決於它如何部署在Web容器中運行不同。