我有以下存储过程,其中 IN OUT 参数作为自定义对象。我想获取从过程返回的数据,并使用 spring 存储过程将其映射到 java 对象。
存储过程参数:
PROCEDURE get_prev_record (p_curr_rec_i SCRUM.employee_ot, p_prev_rec_io IN OUT SCRUM.employee_ot)
对象类型声明:
创建或替换类型 CORE.EMPLOYEE_OT 作为对象 (SCRUM.EMPLOYEE_ID NUMBER (18), SCRUM.EMPLOYEE_NAME VARCHAR2 (30));
我使用经典的存储过程定义了以下参数。
Spring存储过程参数:
declareParameter(new SqlParameter("p_curr_rec_i",OracleTypes.STRUCT,"SCRUM.EMPLOYEE_OT"));
declareParameter(new SqlOutParameter("p_prev_rec_io",OracleTypes.STRUCT,"SCRUM.EMPLOYEE_OT",new SqlReturnStruct(Employee.class) ));
但是输出没有从数据库返回任何值。当我将 SqlOutParameter 更改为 SqlInOutParameter 时,出现以下错误。
“提供了 1 个参数,但在类中声明了 2 个参数”
谁能帮我用java对象映射输出数据。