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