Sobes.tech
Middle

Ի՞նչ է տարբերությունը լյազի (lazy) և ագեր (eager) բեռնման միջև։

sobes.tech AI

Պատասխան AI-ից

Ձգողական բեռնումը հետաձգում է օբյեկտի սկզբնականացմանը մինչև առաջին մուտքը։ Աղեղային բեռնումը անմիջապես սկզբնականացնում է օբյեկտը այն բեռնելու ժամանակ, որը պարունակում է այն։

Տարբերություններ:

Գծագիր Ձգողական բեռնում Աղեղային բեռնում
Բեռնումի ժամանակը Առաջին օգտագործման ժամանակ Հիմնական օբյեկտի բեռնումին ժամանակ
Բեռնում Ժամանակի ընթացքում բաժանված Միայն մեկ անգամ, սկզբում
Հիշողություն Սկզբնականում խնայողություն Կարող է պահանջել ավելի շատ հիշողություն անմիջապես
Արձագանք Ավելի լավ մասնակի տվյալների հետ աշխատելիս Կարող է ավելի արագ լինել, եթե բոլոր տվյալները անհրաժեշտ են անմիջապես

Hibernate օրինակ:

// Ձգողական բեռնում
@Entity
public class Order {
    @OneToMany(fetch = FetchType.LAZY)
    private List<Item> items;
}

// Աղեղային բեռնում
@Entity
public class Order {
    @OneToMany(fetch = FetchType.EAGER)
    private List<Item> items;
}