当 Hibernate 看起来正确时,为什么我会收到 PLS-00306 "wrong number or types of arguments in call"?

Why am I getting PLS-00306 "wrong number or types of arguments in call" when the Hibernate looks correct?

我有以下...

PROCEDURE UPDATE (    LOAD_FLAG         in varchar2, success            OUT VARCHAR2)

我正在尝试将它与 Spring JPA 一起使用,例如...

@Procedure("schema.package.UPDATE")
String update(@Param("LOAD_FLAG") String fullLoadFlag);

但是当我 运行 我得到...

2021-03-29 10:56:59.315  WARN [,,,] 31256 --- [cTaskExecutor-1] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 6550, SQLState: 65000
2021-03-29 10:56:59.315 ERROR [,,,] 31256 --- [cTaskExecutor-1] o.h.engine.jdbc.spi.SqlExceptionHelper   : ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'UPDATE'

Hibernate 正在记录...

{call schema.package.UPDATE(?,?)}

所以一切看起来都是正确的,所以我错过了什么?

尝试像这样使用@Prodedure 属性“outputParameterName”...

@Procedure(value = "schema.pkg.UPDATE", outputParameterName = "success")
String update(@Param("LOAD_FLAG") String fullLoadFlag);

其中输出参数名称是输出变量的名称。