HiveBrain v1.2.0
Get Started
← Back to all entries
gotchajavaspringCritical

What is difference between CrudRepository and JpaRepository interfaces in Spring Data JPA?

Submitted by: @import:stackoverflow-api··
0
Viewed 0 times
datacrudrepositoryjparepositoryandbetweendifferencespringinterfaceswhatjpa

Problem

What is the difference between CrudRepository and JpaRepository interfaces in Spring Data JPA?

When I see the examples on the web, I see them there used kind of interchangeably.

  • What is the difference between them?



  • Why would you want to use one over the other?

Solution

JpaRepository extends PagingAndSortingRepository which in turn extends CrudRepository.

Their main functions are:

  • CrudRepository mainly provides CRUD functions.



  • PagingAndSortingRepository provides methods to do pagination and sorting records.



  • JpaRepository provides some JPA-related methods such as flushing the persistence context and deleting records in a batch.



Because of the inheritance mentioned above, JpaRepository will have all the functions of CrudRepository and PagingAndSortingRepository. So if you don't need the repository to have the functions provided by JpaRepository and PagingAndSortingRepository , use CrudRepository.

Context

Stack Overflow Q#14014086, score: 1550

Revisions (0)

No revisions yet.