Spring の JDBC サポートを使用しています。JdbcTemplate (または SimpleJdbcTemplate) を使用してクエリを実行し、結果を ResultSet のインスタンスとして取得したいと考えています。
これを達成する唯一の方法は、次を使用することです。
String sql = "select * from....";
SqlRowSet results = jdbcTemplate.queryForRowSet(sql);
((ResultSetWrappingSqlRowSet) results).getResultSet();
このアプローチの明らかな欠点は、SqlRowSet の実装タイプについて (キャストによって) 仮定する必要があることですが、より良い方法はありますか?
背景情報...
結果を Bean のコレクションではなく ResultSet として取得する理由は、結果が Jasper レポートに直接渡されて表示されるためです。つまり、Java Bean は各行を ResultSet に一時的に格納する以外の目的で使用されず、Jasper レポートごとにそのような Bean を作成することはできれば避けたいと考えています。
乾杯、ドン