Dazu bedarf es doch eines serverseitigen Cursors.
Ich weiß allerdings nicht ob Java so was kann.
Bei ADO.NET ist das leider abgeschafft, man kann nur alle Daten in den Speicher laden oder arbeitet eben mit Linq/Linq to Objects.
Dies setzt allerdings einen Single-Primary-Key (also nur 1 Feld) voraus, sodass eben Aufsetzpunkte verwendet werden können.