Spring middle

Как Spring Data создаёт реализацию репозитория?

Ответ

Через прокси, генерируемый в рантайме. Имя метода (findByEmailAndStatus) парсится и превращается в JPQL.

Разбор: Spring Data в рантайме создаёт динамический прокси интерфейса репозитория; имена методов вроде findByEmailAndStatus парсятся механизмом derived queries и транслируются в JPQL/SQL, выполняемый на стороне БД. Ловушка: реализация генерируется в рантайме, а не на компиляции; ручной Impl нужен только для кастомной логики, а не для производных запросов; фильтрация происходит в базе, а не в памяти приложения.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться