Ответ
JpaRepository — это интерфейс Spring Data JPA, предоставляющий готовую реализацию для стандартных операций с сущностями (CRUD) и пагинации. Он расширяет PagingAndSortingRepository и CrudRepository.
Основные функции:
- Стандартные CRUD-операции:
save(),findById(),findAll(),deleteById()и т.д. - Пагинация и сортировка:
findAll(Pageable),findAll(Sort). - Пакетные операции:
saveAll(),deleteAllInBatch(). - Методы на основе соглашений об именах: Например,
findByLastName(String lastName)генерируется автоматически. - Аннотация
@Repository: Добавляет семантику репозитория и преобразует исключения JPA в непроверяемые исключения Spring Data.
Пример объявления:
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
// Автоматически сгенерированный запрос по соглашению об именах
List<User> findByEmail(String email);
}
Почему это важно: JpaRepository устраняет необходимость в шаблонной реализации базовых операций, сокращая объем кода и уменьшая вероятность ошибок.