Junior — Middle
Какви видове стратегии за лениво и жадно зареждане на данни в JPA са известни?
sobes.tech AI
Отговор от AI
В JPA съществуват две основни стратегии за зареждане на свързани данни:
-
Жадно зареждане (EAGER): свързаните същности се зареждат веднага заедно с основната същност. Това е удобно, когато свързаните данни са необходими веднага, но може да доведе до излишни заявки и намалена производителност.
-
Мързеливо зареждане (LAZY): свързаните същности се зареждат само при първия им достъп. Това спестява ресурси, но изисква сесията на EntityManager да бъде отворена в момента на достъпа до данните, в противен случай може да възникне грешка LazyInitializationException.
Пример за анотация в JPA:
@OneToMany(fetch = FetchType.LAZY)
private List<Order> orders;
@OneToOne(fetch = FetchType.EAGER)
private Profile profile;