#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 $
Не знаю, где я пропадаю