Middle
116
questionbank
Что такое Spring Data Repository?
Ответ от нейросети
sobes.tech AI
Интерфейс, предоставляющий высокоуровневые абстракции для доступа к данным, упрощающий реализацию репозиториев.
Особенности:
- Уменьшение бойлерплейта: Автоматически генерирует реализации типичных CRUD-операций.
- Соглашения по именованию методов: Позволяет определять кастомные запросы, объявляя методы с определенными названиями (например,
findByLastName(String lastName)). - Аннотация
@Query: Позволяет писать JPQL, SQL или другие запросы непосредственно в аннотации. - Поддержка различных источников данных: JPARepository, MongoRepository, CrudRepository и т.д.
Пример:
// Интерфейс репозитория
public interface UserRepository extends JpaRepository<User, Long> {
// Кастомный метод, сгенерированный по названию
List<User> findByLastName(String lastName);
// Кастомный запрос с использованием аннотации
@Query("SELECT u FROM User u WHERE u.email = ?1")
User findByEmailAddress(String emailAddress);
}