Sobes.tech
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;