Repository
. Это маркерный интерфейс. От него наследуются интерфейсы-специализации, которые уже содержат методы для работы с сущностями базы данных. Все эти интерфейсы параметризуются двумя типами: самой сущности и её идентификатора.CrudRepository – базовый набор операций над сущностями: создание, чтение, изменение и удаление (CRUD).
PagingAndSortingRepository – добавляет к CRUD возможность постраничной загрузки данных с определенной сортировкой.
JpaRepository – расширение
PagingAndSortingRepository
, полноценно реализующее Java Persistence API. Добавляет ряд методов, таких как например flush и deleteInBatch.MongoRepository – расширение
PagingAndSortingRepository
, специфичное для MongoDB.Вспомогательные методы, специфичные для конкретной модели данных, добавляются в пользовательские интерфейсы-наследники. Основываясь на именах добавляемых методов, фреймворк сам создаёт их реализацию.