What is the difference between a CrudRepository and a JpaRepository?
The CrudRepository is part of the Java EE API, while JpaRepository is specific to Spring Data.
The CrudRepository exposes a superset of interface methods containing every datastore-specific method supported by Spring data. The JpaRepository contains only those specific to Spring Data JPA.
The CrudRepository extends the PagingAndSortingRepository, while the JpaRepository does not.
The CrudRepository is a base interface within Spring Data core that exposes a dedicated set of functions. The JpaRepository is a store-specific interface that exposes functionality specific to JPA.