W tej chwili za pomocą sprężyny wszystkie dane są pobierane, a strumień jest stosowany tylko do danych znajdujących się już w pamięci.
Jeśli spojrzysz na źródło org.springframework.data.jpa.provider.PersistenceProvider
wygląda na to, że używa ScrollableResults
do przesyłania strumieniowego danych.
Ogólnie ScrollableResults
pobrać wszystkie dane z pamięci.
Możesz znaleźć interesującą pełną analizę za pomocą bazy danych MySql tutaj , ale prawdopodobnie to samo działa w przypadku bazy danych Postgres.
Tak więc, jeśli myślisz o użyciu rozwiązania, które w rzeczywistości nie potrzebuje dużo pamięci, robi to, ponieważ podstawowa implementacja nie używa optymalnej implementacji.