Sobes.tech
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);
}