Как вернуть результат из StoredProcedureItemReader с помощью CallableStatement

#spring #postgresql #stored-procedures #spring-batch #java-stored-procedures

#весна #postgresql #хранимые процедуры #пружинная партия #java-хранимые процедуры

Вопрос:

Привет, я немного запутался в том, как получить результат от функции postgres, пожалуйста, позвольте мне подробнее

Это моя StoredProcedureItemReader фасоль

 public StoredProcedureItemReaderlt;Usergt; storedProcedureItemReader() throws Exception {  StoredProcedureItemReaderlt;Usergt; storedProcedureItemReader = new StoredProcedureItemReaderlt;gt;();  storedProcedureItemReader.setFunction(true);  storedProcedureItemReader.setDataSource(Objects.requireNonNull(this.jdbcTemplate.getDataSource()));  storedProcedureItemReader.setProcedureName("function2");  storedProcedureItemReader.setParameters(  new SqlParameter[]{  new SqlParameter("_userid", Types.VARCHAR)  });  storedProcedureItemReader.setRowMapper(new DsTable3RowMapper());  storedProcedureItemReader.setConnectionAutoCommit(false);  storedProcedureItemReader.setCurrentItemCount(0);  storedProcedureItemReader.setVerifyCursorPosition(false);  storedProcedureItemReader.afterPropertiesSet();  return storedProcedureItemReader; }  

Я не знаю, как получить набор результатов из моей функции postgres, вот моя текущая логика

 storedProcedureItemReader.setPreparedStatementSetter(ps -gt; {  ps.setString(1, "someid");  });  

Но я получаю эту ошибку

Вызвано: org.postgresql.util.PSQLException: Была выполнена функция CallableStatement, и параметр out 1 имел тип java.sql.Types=12, однако был зарегистрирован тип java.sql.Types=1111.

Моя функция выполняет и выполняет все, что она должна была сделать, это моя функция postgres

 CREATE OR REPLACE FUNCTION function2(_userId text) RETURNS text LANGUAGE plpgsql AS $  

Не знаю, где я пропадаю