domyślny rozmiar pobierania w Oracle to już 10 rekordów, więc dziwne, że podczas dodawania tej wskazówki masz problemy z brakiem pamięci. Zwłaszcza jeśli 100000 nie stanowi problemu.
Kilka rzeczy, które chciałbym zrobić, aby wskazać problem i znaleźć rozwiązanie:
Przetestuj kod w wersji szkieletowej
Przetestuj kod odpowiedzialny za Twoje zapytania (prawdopodobnie Twoje DAO) z minimalnym obciążeniem. Podejrzewam, że wyjątek braku pamięci jest bardziej prawdopodobny z powodu przetwarzania wyników bazy danych, a nie rzeczywistego zapytania + fetchsize.
Tak więc tymczasowo zmień swój kod, aby po prostu wykonać zapytanie, ale nie rób na nim żadnego mapowania ani innego przetwarzania. Po prostu upewnij się, że jest zrobione.
Jeśli wydaje się, że to „rozwiąże” Twój problem, możesz wykonać pewne czynności na otrzymanych danych, które zalewają Twoją pamięć.
Zaktualizuj swoje zależności
Jeśli używasz maven (lub gradle lub innego narzędzia do budowania) sugeruję aktualizację każdej aktualizacji co najmniej do najnowszej wersji pomocniczej (na przykład 1.2.3 -> 1.2.9), nie powinno to niczego zepsuć, ale może napraw kilka błędów.
Nie wybieraj losowych rozmiarów pobierania
Sprawdź te odpowiedzi aby zdecydować, jaki może być dobry rozmiar pobierania w Twojej sytuacji.