I am trying to call a stored procedure with 2 OUT parameters. I have declared a NamedStoredProcedureQuery referencing a SqlResultSetMapping: \ { \ { @NamedStoredProcedureQuery(name = " set_case_handler set_handler ", procedureName = " API_CUSTOMER_AGREEMENT_PKG API_CUSTOMER_PKG . set_case_handler set_handler ", parameters = \ { @StoredProcedureParameter(mode = ParameterMode.IN, name = "p_agreement_id", type = String.class), @StoredProcedureParameter(mode = ParameterMode.OUT, name = "p_success_o", type = Integer.class), @StoredProcedureParameter(mode = ParameterMode.OUT, name = "p_error_message_o", type = String.class) }, resultSetMappings = "procedure_result_mapping") @SqlResultSetMapping(name = "procedure_result_mapping", classes = \ { @ConstructorResult(targetClass = ProcedureResult.class, columns = \ { @ColumnResult(name = "p_success_o", type = Integer.class), @ColumnResult(name = "p_error_message_o", type = String.class) }) } }}
The stored procedure is executed and produces a Map of the two output parameters. Then {{SQLQueryReturnProcessor.processReturn}} is called, which calls {{processConstructorReturn}}. But this method is empty, so the SqlResultSetMapping has no effect, and the Map is returned as the query result.
Is this by design, or is the functionality just missing? |
|