Spring Data JPA ist nicht grundlos eines der beliebtesten Persistenz-Frameworks der Java-Welt. Ein großer Teil der benötigten Datenbankzugriffe wird generiert und für den Rest benötigt man scheinbar nur ein paar Methodendefinitionen und Annotationen.

Sobald die Anwendung aber große Datenmengen verarbeiten muss oder sehr kurze Antwortzeiten garantieren soll, ändert sich diese Einschätzung oft deutlich. Features und Konzepte, die bei kleineren Anwendungen problemlos funktionieren, führen dann häufig zu nahezu endlosen Antwortzeiten und frustrierten Nutzern.

Aber das muss nicht so sein. Mit Spring Data JPA lassen sich komplexe und schnelle Persistenzschichten erstellen. Man muss nur wissen, welche Features auch unter kritischen Bedingungen noch eine gute Performanz liefern und welche man besser vermeiden sollten.

Wie das genau geht und was dabei zu beachten ist, zeige ich in diesem Vortrag.