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?
Their main functions are:
CrudRepositorymainly provides CRUD functions.
PagingAndSortingRepositoryprovides methods to do pagination and sorting records.
JpaRepositoryprovides 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
PagingAndSortingRepository. So if you don’t need the repository to have the functions provided by
PagingAndSortingRepository , use