Sobes.tech
Middle

Wat is het verschil tussen lazy en eager laden?

sobes.tech AI

Antwoord van AI

Lui laden vertraagt de initialisatie van het object tot het eerste toegangspunt. Eager laden initialiseert het object onmiddellijk bij het laden van het hoofdobject dat ernaar verwijst.

Verschillen:

Kenmerk Lui laden Eager laden
Laadtijd Bij eerste gebruik Bij het laden van het hoofdobject
Last Tijdsgebonden Eenmalig, aan het begin
Geheugen Bespaart geheugen initieel Kan meer geheugen vereisen meteen
Prestaties Beter bij werken met deelgegevens Kan sneller zijn als alle gegevens meteen nodig zijn

Voorbeeld in Hibernate:

// Lui laden
@Entity
public class Order {
    @OneToMany(fetch = FetchType.LAZY)
    private List<Item> items;
}

// Eager laden
@Entity
public class Order {
    @OneToMany(fetch = FetchType.EAGER)
    private List<Item> items;
}