Встречается на 2% собеседований по Java

Как работают магические репозитории Spring Data

Магические репозитории Spring Data позволяют создавать интерфейсы для работы с БД без реализации методов. Spring генерирует реализацию автоматически на основе соглашений об именовании методов.

Пример:

java
public interface UserRepository extends JpaRepository<User, Long> {
    List<User> findByLastName(String lastName);
    List<User> findByAgeGreaterThan(int age);
}

Как это работает:

  1. Наследуемся от JpaRepository (или других специализированных интерфейсов).
  2. Пишем методы, следуя соглашению:
    • findBy... – поиск по полям (findByLastNameWHERE last_name = ?).
    • ...GreaterThan/LessThan – условия сравнения.
    • Можно комбинировать (findByLastNameAndAge).
  3. Spring Data генерирует реализацию во время выполнения, используя JPA/Hibernate или другие технологии.

Под капотом:

  • Анализируется имя метода и его параметры.
  • Строится соответствующий JPQL-запрос или критериа.
  • Поддерживаются аннотации @Query для кастомных запросов.

Плюсы:

  • Минимальный boilerplate-код.
  • Гибкость через соглашения именования.
  • Легко расширяется кастомными методами.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы