Spring Data JPA provides repositories that provide different methods for data-related implementations. The repositories are the following:
CrudRepository: The interface repository, which provides the basic operations to Create, Read, Update, and Delete (CRUD).
PagingAndSortingRepository: Extends CrudRepostiory and adds a method named findAll, which can sort results and be retrieved in a paginated manner.
JpaRepository: Adds specific JPA methods and has all the functions of CrudRepository and PagingAndSortingRepository. It also adds methods such as flush(), which flushes the persistence context, and deleteInBatch(), which deletes records in a batch.