Junior — Middle
Welche Arten von Lazy- und Eager-Lade-Strategien in JPA sind bekannt?
sobes.tech KI
Antwort von AI
In JPA gibt es zwei Hauptstrategien zum Laden verwandter Daten:
-
Eager-Ladung (EAGER): Die verwandten Entitäten werden sofort zusammen mit der Hauptentität geladen. Dies ist praktisch, wenn die verwandten Daten sofort benötigt werden, kann aber zu übermäßigen Abfragen und Leistungseinbußen führen.
-
Lazy-Ladung (LAZY): Die verwandten Entitäten werden nur beim ersten Zugriff geladen. Dies spart Ressourcen, erfordert jedoch, dass die EntityManager-Sitzung zum Zeitpunkt des Datenzugriffs geöffnet ist, andernfalls kann ein LazyInitializationException auftreten.
Beispiel für eine Annotation in JPA:
@OneToMany(fetch = FetchType.LAZY)
private List<Order> orders;
@OneToOne(fetch = FetchType.EAGER)
private Profile profile;