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;
}