Spring Data Repositories
Spring Data repositories, CrudRepository vs JpaRepository, custom queries, @EntityGraph, projections
1Quelle est la principale différence entre JpaRepository et CrudRepository ?
Quelle est la principale différence entre JpaRepository et CrudRepository ?
Réponse
JpaRepository étend CrudRepository et PagingAndSortingRepository, ajoutant des méthodes JPA spécifiques comme flush(), saveAndFlush() et deleteInBatch(). CrudRepository fournit uniquement les opérations CRUD de base (save, findById, delete). Utiliser JpaRepository donne accès à toutes les fonctionnalités JPA avancées sans devoir composer plusieurs interfaces.
2Quel est le rôle de PagingAndSortingRepository dans la hiérarchie des repositories ?
Quel est le rôle de PagingAndSortingRepository dans la hiérarchie des repositories ?
Réponse
PagingAndSortingRepository étend CrudRepository en ajoutant les méthodes findAll(Pageable) et findAll(Sort) pour la pagination et le tri. Cela permet de récupérer des données par pages avec Page/Slice et de trier les résultats. JpaRepository étend cette interface, offrant donc pagination, tri et fonctionnalités JPA spécifiques dans une seule interface.
3Quelle est la hiérarchie correcte des interfaces de repository Spring Data ?
Quelle est la hiérarchie correcte des interfaces de repository Spring Data ?
Réponse
La hiérarchie correcte est Repository (base) → CrudRepository (CRUD) → PagingAndSortingRepository (pagination/tri) → JpaRepository (JPA spécifique). Chaque niveau ajoute des fonctionnalités : CrudRepository ajoute save/delete, PagingAndSortingRepository ajoute pagination/tri, et JpaRepository ajoute flush/batch. Cette architecture permet de choisir le niveau de fonctionnalités nécessaire.
Quelle méthode JpaRepository permet de synchroniser immédiatement les changements avec la base de données ?
Dans quel cas préférer CrudRepository plutôt que JpaRepository ?
+22 questions d'entretien
Autres sujets d'entretien Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging avec SLF4J et Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Gestion des exceptions
Validation avec Bean Validation
Spring Data JPA - Les bases
Entités JPA et relations
Requêtes JPA
Spring Security - Les bases
Spring Boot Actuator
Tests unitaires avec JUnit et Mockito
Tests Spring Boot
Profiles et Environment
RestTemplate et WebClient
Async et Scheduling
Caching avec Spring
Spring WebFlux (Reactive)
Transactions Spring
Authentification et autorisation avancées
JWT et sécurité stateless
OAuth2 et Authorization Server
Spring Boot et Docker
Microservices avec Spring
Spring Cloud Config
Optimisation des performances
GraalVM Native Images
Maîtrise Spring Boot pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement