Junior — Middle
JPA da sustiqlash va shoshilinch yuklash strategiyalarining qanday turlari ma'lum?
sobes.tech AI
AIdan javob
JPAда боғланган маълумотларни юклаш учун икки асосий стратегия мавжуд:
-
Ҳамён юклаш (EAGER): боғланган объектлар асосий объект билан бирга даражада юкланади. Бу, боғланган маълумотлар тезда керак бўлганда қулай, аммо ортиқча сўровлар ва ишлаш самарадорлигини пасайтиради.
-
Мўътадил юклаш (LAZY): боғланган объектлар биринчи мурожаатда юкланади. Бу ресурсларни тежайди, аммо маълумотларга киришда EntityManager сессиясининг очиқ бўлиши керак, акс ҳолда LazyInitializationException хато чиқиши мумкин.
JPAда аннотация мисоли:
@OneToMany(fetch = FetchType.LAZY)
private List<Order> orders;
@OneToOne(fetch = FetchType.EAGER)
private Profile profile;