Mirki jak (i czy w ogole) da się w Hibernate dolaczyc tylko n Fetch joinowanych rekordow.
Przykaldowo mam dwie encje, pierwsza to wlasciciel a druga zwierze. No i wladciciel moze miec wiele zwierzat (OneToMany) wiec w klasie odpowiadającej tej tabelce bedzie mial jakis Set. No i mam tam LAZY ladowanie, bo przyjmijmy ze tych zwierzakow moze miec i miliony wiec zeby nie pakowac wszystkiego do pamieci chce wyselektowac jakiegos wlasciciela i zaladowac mu do jego zbioru Set wylacznie n zwierzat a nie od razu wszystkie.
Probowalem z adnotwcja Batch(size = n) ale zupelnie nic to nie zmienia. W jaki sposob cos takiego osiagnac?
@fegwegw: Hmm, moze to wynikac tez z tego ze moj przypadek jest bardzien skomplikowany, nie sa to dwie encje a trzy. Z czego sa dwa fetch joiny no i o ile laduje wszystkie do pierwszego tak chce ogrwniczyc wlasnie ten drugi.
@fegwegw: Tak w pierwszej chwili bylo latwiej zrobic i to na tym dziala ale laduja sie wszedzie wszystkie i chce ograniczyc w tym drugim Fetch joinie. Moze rzeczywiscir trzeba to przebudowac.
@Kielbasiarz: Nie da się zrobić takiego czegoś. Ewentualnie możesz zrobić własne query z selectem na Zwierze z joinem na wlasciciela i wtedy limitować.
Przykaldowo mam dwie encje, pierwsza to wlasciciel a druga zwierze. No i wladciciel moze miec wiele zwierzat (OneToMany) wiec w klasie odpowiadającej tej tabelce bedzie mial jakis Set. No i mam tam LAZY ladowanie, bo przyjmijmy ze tych zwierzakow moze miec i miliony wiec zeby nie pakowac wszystkiego do pamieci chce wyselektowac jakiegos wlasciciela i zaladowac mu do jego zbioru Set wylacznie n zwierzat a nie od razu wszystkie.
Probowalem z adnotwcja Batch(size = n) ale zupelnie nic to nie zmienia. W jaki sposob cos takiego osiagnac?
#programowanie #java #spring #hibernate
Ale coś kombinujesz, wątpie, żeby Twój use-case był poprawny.
Ewentualnie możesz zrobić własne query z selectem na Zwierze z joinem na wlasciciela i wtedy limitować.