Встречается на 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);
}Как это работает:
- Наследуемся от
JpaRepository(или других специализированных интерфейсов). - Пишем методы, следуя соглашению:
findBy...– поиск по полям (findByLastName→WHERE last_name = ?)....GreaterThan/LessThan– условия сравнения.- Можно комбинировать (
findByLastNameAndAge).
- Spring Data генерирует реализацию во время выполнения, используя JPA/Hibernate или другие технологии.
Под капотом:
- Анализируется имя метода и его параметры.
- Строится соответствующий JPQL-запрос или критериа.
- Поддерживаются аннотации
@Queryдля кастомных запросов.
Плюсы:
- Минимальный boilerplate-код.
- Гибкость через соглашения именования.
- Легко расширяется кастомными методами.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы