我正在寫一個分頁的Oracle SQL查詢,它工作在SQL Developer的罰款,但是當我嘗試使用Spring JDBC模板,它拋出Oracle分頁查詢中的列無效?
的SQLException通過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)
在Java:
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