Statement#setFetchSize()
javadoc уже заявляет:
Предоставляет драйверу JDBC подсказку относительно количества строк, которые следует извлечь из базы данных
Водитель может свободно применять или игнорировать подсказку. Некоторые драйверы игнорируют его, некоторые драйверы применяют его напрямую, некоторым драйверам нужно больше параметров. Драйвер MySQL JDBC относится к последней категории. Если вы посмотрите документацию по драйверу MySQL JDBC , вы увидите следующую информацию (прокрутите примерно на 2/3 до заголовка ResultSet ):
Чтобы включить эту функцию, вам нужно создать экземпляр Statement следующим образом:
stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY, java.sql.ResultSet.CONCUR_READ_ONLY);
stmt.setFetchSize(Integer.MIN_VALUE);
Пожалуйста, прочитайте весь раздел документа, в нем также описаны недостатки этого подхода.
Чтобы заставить его работать в Spring, вам, однако, нужно будет расширить / переопределить JdbcTemplate с помощью пользовательской реализации. Поскольку я не делаю Spring, я не могу подробно рассказать об этом, но теперь вы, по крайней мере, знаете, где искать.
Удачи.