Junior — Middle
Aké typy stratégií lazy a eager načítania dát v JPA sú známe?
sobes.tech AI
Odpoveď od AI
V JPA existujú dve hlavné stratégie načítania súvisiacich údajov:
-
Náročné načítanie (EAGER): súvisiace entity sa načítajú okamžite spolu s hlavnou entitou. Je to užitočné, keď sú súvisiace údaje okamžite potrebné, ale môže viesť k nadmerným dotazom a zníženiu výkonu.
-
Líné načítanie (LAZY): súvisiace entity sa načítajú iba pri prvom prístupe. Šetrí to zdroje, ale vyžaduje, aby bola otvorená session EntityManager v čase prístupu k údajom, inak môže nastať chyba LazyInitializationException.
Príklad anotácie v JPA:
@OneToMany(fetch = FetchType.LAZY)
private List<Order> orders;
@OneToOne(fetch = FetchType.EAGER)
private Profile profile;