1092 votes

Quelle est la différence entre les interfaces CrudRepository et JpaRepository dans Spring Data JPA ?

Quelle est la différence entre CrudRepository y JpaRepository interfaces dans Spring Data JPA ?

Quand je vois les exemples sur le web, je les vois utilisés de manière interchangeable.

Quelle est la différence entre eux ?

Pourquoi voudriez-vous utiliser l'un plutôt que l'autre ?

1 votes

Lisez également la section de cet article Introduction aux référentiels de Spring Data

9voto

Rahul Vala Points 553

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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X