Sobes.tech
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;