Junior — Middle
Jaké typy strategií lazy a eager načítání v JPA jsou známy?
sobes.tech AI
Odpověď od AI
V JPA existují dvě hlavní strategie načítání souvisejících dat:
-
Náročné načítání (EAGER): související entity jsou načítány ihned spolu s hlavní entitou. To je užitečné, když jsou související data okamžitě potřebná, ale může vést k nadměrným dotazům a snížení výkonu.
-
Líné načítání (LAZY): související entity jsou načítány pouze při prvním přístupu. To šetří zdroje, ale vyžaduje, aby byla otevřená session EntityManager v okamžiku přístupu k datům, jinak může dojít k chybě LazyInitializationException.
Příklad anotace v JPA:
@OneToMany(fetch = FetchType.LAZY)
private List<Order> orders;
@OneToOne(fetch = FetchType.EAGER)
private Profile profile;