Oracle 当我构建基于条件的TypedQuery时,异常weblogic.deployment.QueryProxyImpl无法转换为javax.persistence.TypedQuery

Oracle 当我构建基于条件的TypedQuery时,异常weblogic.deployment.QueryProxyImpl无法转换为javax.persistence.TypedQuery,oracle,jakarta-ee,weblogic-10.x,criteria-api,Oracle,Jakarta Ee,Weblogic 10.x,Criteria Api,你好 我使用一个条件查询来构建一个表的查询,带有一些谓词,如下所示: CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery q = cb.createQuery(); Root<Foo> root = q.from(Foo.class); List<Predicate> predicates = new ArrayList<Predic

你好

我使用一个条件查询来构建一个表的查询,带有一些谓词,如下所示:

        CriteriaBuilder cb = em.getCriteriaBuilder();
        CriteriaQuery q = cb.createQuery();
        Root<Foo> root = q.from(Foo.class);

        List<Predicate> predicates = new ArrayList<Predicate>();

        [added some predicates]

        q.select(root).where(predicates.toArray(new Predicate[]{}));
我基于Oracle示例构建了整个代码段,您可以在以下URL中找到:

你认为可能是什么错误

谢谢大家

编辑:当您没有将JPA2库放入weblogic类路径时,会显示此异常。您必须在commonv.sh/commonv.cmd文件中添加下一行:

Linux

PRE_CLASSPATH=${BEA_HOME}/modules/javax.persistence_1.0.0.0_2-0-0.jar:${BEA_HOME}/

modules/com.oracle.jpa2support_1.0.0.0_2-0.jar

导出预类路径

窗口

设置预\u类路径=%BEA\u HOME%\modules\javax.persistence\u 1.0.0.0\u 2-0-

0.jar;%BEA_HOME%\modules\com.oracle.jpa2support_1.0.0.0_2-0.jar

试着写:

CriteriaQuery<Foo> q = cb.createQuery();

我也有类似的问题,但是在创建
namedquery
而不是
createQuery
时。以前它工作得很好。但是当
TransactionAttribute
TransactionAttributeType.不受
支持时,它会抛出
weblogic.deployment.QueryImpl
无法强制转换为
TypedQuery
。当我删除事务属性时,它工作了

因为我有同样的问题,所以我投了更高的票,这个解决方案对我有效。我将
TransacitonAttributeType.SUPPORTS
更改为
TransactionAttributeType.REQUIRED
,它成功了。
weblogic.deployment.QueryProxyImpl cannot be cast to javax.persistence.TypedQuery
CriteriaQuery<Foo> q = cb.createQuery();
CriteriaQuery q = cb.createQuery();