Oracle JDBC-drivrutinen har korrekt stöd för setFetchSize() metod på java.sql.Statement , vilket låter dig kontrollera hur många rader föraren ska hämta på en gång.
Men RowMapper som används av Spring fungerar genom att läsa in varje rad i minnet och hämta RowMapper att översätta det till ett objekt och lagra varje rads objekt i en stor lista. Om din resultatuppsättning är enorm kommer den här listan att bli stor, oavsett hur JDBC hämtar raddata.
Om du behöver hantera stora resultatuppsättningar är RowMapper inte skalbar. Du kan överväga att använda RowCallbackHandler istället, tillsammans med motsvarande metoder på JdbcTemplate. RowCallbackHandler dikterar inte hur resultaten lagras, utan det är upp till dig att lagra dem.