0
JavaでCallable Statementを使用してPostgres関数を呼び出そうとしています。関数への入力パラメータの1つはTimestamp型です。 javaから関数を呼び出そうとすると、次のエラーが発生します。jdbcコールで「不明なデータ型」エラーが発生しました
ERROR: function insrt_data(character varying, integer, bigint, unknown, character varying) does not exist
私の関数のシグネチャは次のとおりです。
insrt_data(
i_cd character varying,
i_prog_id smallint,
i_stat_id bigint,
i_dt date,
i_stat_cd character varying) RETURNS character varying
私のJDBC呼び出しは以下の通りです。 StrtDtはjava.util.Dateフィールドです。
String sql = "{call mySchema.insrt_data(?, ?, ?, ?, ?)}";
java.sql.Date StartDt = new java.sql.Date(record.getStrtDt().getTime());
Map<String, Object> map = jdbcTemplate.call(connection -> {
CallableStatement statement = connection.prepareCall(sql);
statement.setString(1, record.getCd());
statement.setInt(2, record.getProgId());
statement.setLong(3, record.getId());
statement.setDate(4, StartDt);
statement.setString(5, record.getStatCd());
statement.registerOutParameter(1, Types.VARCHAR);
return statement;
}, paramList);