Junior — Middle
Կարող եք բացատրել, թե ինչպես է աշխատում Lazy բեռնման ռազմավարությունը JPA/Hibernate-ում?
sobes.tech AI
Պատասխան AI-ից
JPA/Hibernate-ում Lazy բեռնման ռազմավարությունը նշանակում է, որ կապված գոյությունները չեն բեռնվում անմիջապես հիմնական գոյության բեռնումից հետո, այլ միայն առաջին դիմումի ժամանակ: Սա օգնում է օպտիմալացնել կատարողականությունը՝ նվազեցնելով տվյալների բազայից բեռնված տվյալների քանակը:
Օրինակ, եթե لديك գոյություն Order և մի հավաքածու items, երբ բեռնում եք պատվերը տվյալ բազայից, Hibernate- ը չի բեռնի անմիջապես բոլոր items-ը: Նրանք բեռնվում են միայն այն ժամանակ, երբ դուք կանչում եք order.getItems():
Օրինակ:
@Entity
public class Order {
@OneToMany(fetch = FetchType.LAZY)
private List<Item> items;
}
Այս մոտեցմամբ, Hibernate- ը ստեղծում է proxy օբյեկտ items հավաքածուի համար, և իրական հարցումը տվյալների բազայից կատարվում է միայն այն ժամանակ, երբ դուք մուտք եք գործում այդ հավաքածուին։