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