データベースにSQL関数があります
FUNCTION RATELIMIT_OWN.Get_Logs ( p_yyyymm VARCHAR2, p_numec NUMBER )
関数が返す
TYPE RATELIMIT_OWN.LOG_RECORD AS OBJECT
(EVENTID VARCHAR2(15),
MSG VARCHAR2(2000),
CREATE_DATE DATE);
ストアド プロシージャと SQL 関数は初めてです。関数でクエリを調べた後、複数の結果が返される場合があります。
Spring JDBC を使用して実行し、結果を取得しています。
SimpleJdbcCall caller = new SimpleJdbcCall(this.jdbcTemplate).withFunctionName("RATELIMIT_OWN.Get_Logs");
MyBean resultBean = null;
MapSqlParameterSource paramMap = new MapSqlParameterSource();
paramMap.addValue("p_yyyymm", inputBean.getMonth(), Types.VARCHAR);
paramMap.addValue("p_numec", inputBean.getNumec(), Types.INTEGER);
resultBean = caller.executeFunction(MyBean.class, paramMap);
しかし、これは機能しますか?複数の結果が得られた場合、これはどのように機能しますか。List right を返す必要があります。オブジェクトのリストを返す SimpleJdbcCall メソッドが見つかりませんでした。返される列を Bean にマップするために RowMapper を渡すことができるメソッドさえありませんでした。