Java 如何使用实体管理器在spring中调用oracle存储过程?

Java 如何使用实体管理器在spring中调用oracle存储过程?,java,spring,stored-procedures,oracle11g,procedure,Java,Spring,Stored Procedures,Oracle11g,Procedure,使用以下代码在Spring中调用上述过程 create or replace PROCEDURE TEST ( Role IN VARCHAR2, OUTPUT OUT SYS_REFCURSOR ) AS BEGIN OPEN OUTPUT FOR Select PC.PRODUCT_NAME,P.PARTNER_NAME ............ ............. WHERE PC.ROLE_NAME='POS_LEAD'; END TEST; 但

使用以下代码在Spring中调用上述过程

create or replace PROCEDURE TEST  
(
Role IN VARCHAR2, 
     OUTPUT 
 OUT SYS_REFCURSOR
)
AS
BEGIN
 OPEN OUTPUT FOR   
Select PC.PRODUCT_NAME,P.PARTNER_NAME
............
.............
  WHERE PC.ROLE_NAME='POS_LEAD';
END TEST;
但是我犯了一个错误


有人能帮忙吗?

我试图复制您的问题,但我做不到,尽管我使用的是Postgres而不是Oracle。可以肯定的是,您是否可以这样做:

ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'TEST'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

谢谢

我试图复制您的问题,但我无法复制,尽管我使用的是Postgres而不是Oracle。可以肯定的是,您是否可以这样做:

ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'TEST'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

谢谢

也可能它需要是void.class而不是中的Object.class也可能它需要是void.class而不是中的Object.class
StoredProcedureQuery storedProcedure = findByYearProcedure
            .registerStoredProcedureParameter(1, String.class, ParameterMode.IN)
            .registerStoredProcedureParameter(2, Object.class,ParameterMode.REF_CURSOR);
            .setParameter("Role", "admin");