При использовании одного из различных методов шаблона JDBC я смущен тем, как итерации/прокрутки больших наборов результатов (которые не будут вписываться в память). Даже без прямого воздействия на интерфейс Iterable я бы по крайней мере ожидал, что экземпляры RowCallbackHandler будут вызваны во время выполнения запроса не после его завершения (или переполнения кучи).
Я посмотрел на этот (который ничего не изменил для меня, несмотря на то, что он похож по духу на этот пост о переполнении стека) и на этот пост в форумах spring. Последнее, по-видимому, предполагает, что обработчик обратного вызова действительно должен вызываться, пока курсор извлекает данные. Однако мои тесты не показывают такого поведения.
База данных - это Oracle10g. Я использую драйвер 11.1.0.7.0-Production и spring 2.5.6.SEC01. Любые идеи о том, как перебирать результирующие множества, желательно, сохраняя логику отображения RowMapper и т.д.