Spring Data Repositories
Spring Data Repositories, CrudRepository vs. JpaRepository, benutzerdefinierte Queries, @EntityGraph, Projektionen
1Was ist der Hauptunterschied zwischen JpaRepository und CrudRepository?
Was ist der Hauptunterschied zwischen JpaRepository und CrudRepository?
Antwort
JpaRepository erweitert sowohl CrudRepository als auch PagingAndSortingRepository und fügt JPA-spezifische Methoden wie flush(), saveAndFlush() und deleteInBatch() hinzu. CrudRepository bietet nur die grundlegenden CRUD-Operationen (save, findById, delete). Die Verwendung von JpaRepository ermöglicht den Zugriff auf alle erweiterten JPA-Funktionen, ohne mehrere Interfaces kombinieren zu müssen.
2Welche Rolle spielt PagingAndSortingRepository in der Repository-Hierarchie?
Welche Rolle spielt PagingAndSortingRepository in der Repository-Hierarchie?
Antwort
PagingAndSortingRepository erweitert CrudRepository, indem es die Methoden findAll(Pageable) und findAll(Sort) für Pagination und Sortierung hinzufügt. Damit lassen sich Daten seitenweise mit Page/Slice abrufen und Ergebnisse sortieren. JpaRepository erweitert dieses Interface und bietet so Pagination, Sortierung und JPA-spezifische Funktionen in einem einzigen Interface.
3Was ist die korrekte Hierarchie der Spring Data Repository-Interfaces?
Was ist die korrekte Hierarchie der Spring Data Repository-Interfaces?
Antwort
Die korrekte Hierarchie ist Repository (Basis) → CrudRepository (CRUD) → PagingAndSortingRepository (Pagination/Sortierung) → JpaRepository (JPA-spezifisch). Jede Ebene fügt Funktionen hinzu: CrudRepository fügt save/delete hinzu, PagingAndSortingRepository fügt Pagination/Sortierung hinzu und JpaRepository fügt flush/batch hinzu. Diese Architektur ermöglicht die Wahl der benötigten Funktionsebene.
Welche JpaRepository-Methode ermöglicht es, Änderungen sofort mit der Datenbank zu synchronisieren?
In welchem Fall sollte man CrudRepository gegenüber JpaRepository bevorzugen?
+22 Interview-Fragen
Weitere Spring Boot-Interviewthemen
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging mit SLF4J und Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Ausnahmebehandlung
Bean Validation
Spring Data JPA Grundlagen
JPA-Entitäten und Beziehungen
JPA-Abfragen
Spring Security Grundlagen
Spring Boot Actuator
Unit-Tests mit JUnit & Mockito
Spring Boot Testing
Profiles und Environment
RestTemplate und WebClient
Async & Scheduling
Caching mit Spring
Spring WebFlux (Reactive)
Spring-Transaktionen
Erweiterte Authentifizierung und Autorisierung
JWT & Stateless-Sicherheit
OAuth2 & Authorization Server
Spring Boot und Docker
Microservices mit Spring
Spring Cloud Config
Performance-Optimierung
GraalVM Native Images
Meistere Spring Boot für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten