Toutes les réponses fournissent suffisamment de détails à la question. Cependant, permettez-moi d'ajouter quelque chose de plus.
Pourquoi utilisons-nous ces interfaces ?
- Ils permettent à Spring de trouver les interfaces de votre référentiel et de créer des objets proxy pour celles-ci.
- Il vous fournit des méthodes qui vous permettent d'effectuer certaines opérations courantes (vous pouvez également définir votre propre méthode). J'adore cette fonctionnalité car créer une méthode (et définir une requête et des instructions préparées, puis exécuter la requête avec l'objet de connexion) pour effectuer une simple opération est vraiment nul !
Quelle interface fait quoi :
-
CrudRepository : fournit des fonctions CRUD
-
PagingAndSortingRepository : fournit des méthodes pour faire de la pagination et trier les enregistrements
-
JpaRepository JPA : fournit des méthodes liées à JPA, telles que la purge du contexte de persistance et la suppression d'enregistrements par lots.
Quand utiliser quelle interface :
Selon http://jtuts.com/2014/08/26/difference-between-crudrepository-and-jparepository-in-spring-data-jpa/
En général, la meilleure idée est d'utiliser CrudRepository o PagingAndSortingRepository selon que vous avez besoin de trier et de paginer ou non.
El JpaRepository doit être évitée si possible, car elle lie vos référentiels à la technologie de persistance JPA, et dans la plupart des cas, vous n'utiliserez probablement même pas les méthodes supplémentaires qu'elle fournit.
1 votes
Lisez également la section de cet article Introduction aux référentiels de Spring Data