Driver Oracle JDBC memiliki dukungan yang tepat untuk setFetchSize() metode pada java.sql.Statement , yang memungkinkan Anda mengontrol berapa banyak baris yang akan diambil driver sekaligus.
Namun, RowMapper seperti yang digunakan oleh Spring bekerja dengan membaca setiap baris ke dalam memori, mendapatkan RowMapper untuk menerjemahkannya ke dalam sebuah objek, dan menyimpan objek setiap baris dalam satu daftar besar. Jika kumpulan hasil Anda sangat besar, maka daftar ini akan menjadi besar, terlepas dari bagaimana JDBC mengambil data baris.
Jika Anda perlu menangani kumpulan hasil yang besar, maka RowMapper tidak dapat diskalakan. Anda dapat mempertimbangkan untuk menggunakan RowCallbackHandler sebagai gantinya, bersama dengan metode yang sesuai di JdbcTemplate. RowCallbackHandler tidak mendikte bagaimana hasil disimpan, menyerahkannya kepada Anda untuk menyimpannya.