JpaRepository — extends CrudRepository + paging/sorting. CrudRepository — basic CRUD.
CrudRepository:
1@Repository2public interface UserRepository extends CrudRepository<User, Long> {3 // Basic CRUD4}
JpaRepository:
1@Repository2public interface UserRepository extends JpaRepository<User, Long> {3 // CRUD + Pagination + Sorting + Batch4 Page<User> findByName(String name, Pageable pageable);5 List<User> findByName(String name, Sort sort);6}
How it works:
Key difference:
Best practice: