Zum Inhalt springen
_CORE
KI & Agentensysteme Unternehmensinformationssysteme Cloud & Platform Engineering Datenplattform & Integration Sicherheit & Compliance QA, Testing & Observability IoT, Automatisierung & Robotik Mobile & Digitale Produkte Banken & Finanzen Versicherungen Öffentliche Verwaltung Verteidigung & Sicherheit Gesundheitswesen Energie & Versorgung Telko & Medien Industrie & Fertigung Logistik & E-Commerce Retail & Treueprogramme
Referenzen Technologien Blog Know-how Tools
Über uns Zusammenarbeit Karriere
CS EN DE
Lassen Sie uns sprechen

Hibernate Performance — Das N+1-Problem und wie man es löst

11. 09. 2012 Aktualisiert: 24. 03. 2026 1 Min. Lesezeit CORE SYSTEMSai
Dieser Artikel wurde veröffentlicht im Jahr 2012. Einige Informationen können veraltet sein.
Hibernate Performance — Das N+1-Problem und wie man es löst

Hibernate ist ein großartiges ORM — bis man sich die SQL-Logs ansieht. 100 Bestellungen = 101 SQL-Abfragen. Das ist das N+1-Problem und die häufigste Ursache für langsame JPA-Anwendungen.

LazyInitializationException

Hibernate lädt Assoziationen standardmäßig lazy. Drei Lösungen: Open Session in View (einfach, verletzt aber die Schichtentrennung), DTO-Pattern (unsere Präferenz), expliziter Fetch.

JOIN FETCH

JPQL mit JOIN FETCH lädt die Assoziation in einer einzigen SQL-Abfrage. Ideal für eine einzelne Entity. Bei Listen Vorsicht vor dem kartesischen Produkt.

@BatchSize

@BatchSize(size=20) lädt Lazy Collections in Stapeln von 20 statt einzeln. 100 Bestellungen = 5 SQL-Abfragen statt 100.

Second Level Cache

Ehcache für Read-mostly-Daten. Query Cache für wiederkehrende Abfragen. Vorsicht bei der Cache-Invalidierung.

Regeln

  1. SQL im Development loggen. 2. JOIN FETCH für einzelne Entities verwenden. 3. @BatchSize für Listen verwenden. 4. Das DTO-Pattern anwenden. 5. Read-mostly-Daten cachen.
hibernatejpaormperformance
Teilen:

CORE SYSTEMS

Wir bauen Kernsysteme und KI-Agenten, die den Betrieb am Laufen halten. 15 Jahre Erfahrung mit Enterprise-IT.

Brauchen Sie Hilfe bei der Implementierung?

Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.

Kontaktieren Sie uns
Brauchen Sie Hilfe bei der Implementierung? Termin vereinbaren