无法执行JPA的存储过程 [英] Can not execute stored procedure JPA

查看:112
本文介绍了无法执行JPA的存储过程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当尝试使用JPA在Oracle中执行存储过程时,出现以下异常:

While attempting to execute a stored procedure in Oracle using JPA, I'm getting the following exception:

由以下原因引起:org.switchyard.HandlerException:
java.lang.NoSuchMethodError:
javax.persistence.EntityManager.createStoredProcedureQuery(Ljava/lang/String;)
Ljavax/persistence/StoredProcedureQuery;

Caused by: org.switchyard.HandlerException:
java.lang.NoSuchMethodError:
javax.persistence.EntityManager.createStoredProcedureQuery(Ljava/lang/String;)
Ljavax/persistence/StoredProcedureQuery;

有一个代码段:

query = enmanager.createStoredProcedureQuery("BEGIN YLABPACK.ejemplo(?,?);END;")
    .registerStoredProcedureParameter(1, String.class, ParameterMode.IN)
    .registerStoredProcedureParameter(2, String.class, ParameterMode.IN)
    .setParameter(1, datosIdController.getSerie())
    .setParameter(2, respuesta).execute();

推荐答案

从Java Persistence 2.1开始,方法 EntityManager#createStoredProcedureQuery(Ljava/lang/String;)可用.检查您拥有的JPA版本.请注意,这可能是依赖性冲突(即由于Maven传递依赖性).如果您可以分享有关项目设置的更多信息,将为您提供帮助.

The method EntityManager#createStoredProcedureQuery(Ljava/lang/String;) is available since Java Persistence 2.1. Check the JPA version you have. Mind that it can be a dependency conflict (i.e. due to maven transitive dependency). If you can share more about your project setup it will be easier to help you.

这篇关于无法执行JPA的存储过程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆