當使用各種JDBC模板方法之一時,我對如何遍歷/滾動大型結果集(不適合內存)感到困惑。即使沒有Iterable接口的直接暴露,我也會至少期望RowCallbackHandler的實例被調用,而查詢在完成後(或堆溢出)不會執行。Spring JDBC支持和大型數據集
我確實在this看看一個(這對我來說什麼都沒有改變,儘管是在精神this post在堆棧溢出類似),並在this後在春季論壇。後者似乎表明,在光標獲取數據時,回調處理程序確實應該被調用。然而我的測試顯示沒有這樣的行爲。
的數據庫是Oracle10g中。我正在使用11.1.0.7.0-Production驅動程序和Spring 2.5.6.SEC01。任何人想法如何迭代結果集,最好同時保持RowMapper的映射邏輯等?
setFetchSize並沒有改變我的東西,我嘗試過使用它。您是否針對Oracle實例開發?對我來說RowCallBackHandler只是掛起,等待查詢完成,因爲我在我的OP中寫道。 – yawn
顯然我在測試中的JDBC模板上忘記了afterPropertiesSet()之後的調用。尷尬,但現在它的工作原理:*) – yawn