私はページネーションのためのOracle SQLクエリを書いて、それは、SQL Developerのでは正常に動作しますが、私はそれがOracleのページ区切りクエリに無効な列がありますか?
をのSQLExceptionスロー春JDBCテンプレートを使用してJavaアプリケーションを介して実行しようとすると:無効な列タイプ
実際のクエリ:Javaでは
SELECT *
FROM (
SELECT a.*, rownum r__
FROM (
SELECT *
FROM Packet
ORDER BY packet_date_created DESC
) a
WHERE rownum < ((pageNumber*pageSize)+1)
)
WHERE r__ >= (((pageNumber-1)* pageSize)+1)
:
MapSQlParameterSource paramSource = new MapSQlParameterSource()
paramSource.addValue("pageNumber", pageNumber.intValue())
paramSource.addValue("pageSize", pageSize.intValue())
String sqlString =
"SELECT * FROM (SELECT a.*, rownum r__ FROM (SELECT FROM packet ORDER BY packet_date_created DESC) a " +
"WHERE rownum < ((:pageNumber * :pageSize) + 1)) " +
"WHERE r__ >= (((:pageNumber-1) * :pageSize) + 1)";
List<PacketDTO> packetDTOList = jdbcTemplate.query(sqlString, paramSource, new PacketMapper());
本当にありがとうございます。
あなたが共有しているJavaコードのリストは不完全で、 'paramSource'には何が入っていますか? –
私は追加しました。見てください –
あなたのパケットテーブルのテーブル定義は何ですか?あなたは例外スタックを投稿できますか? PacketMapperコードを投稿できますか? – Nick