Spring middle
Spring Data — как работает?
Ответ
Интерфейс extends JpaRepository<Entity, ID>. Spring создаёт прокси в рантайме. Имя метода парсится: findByEmailAndStatus → JPQL. @Query для сложных запросов (JPQL по умолчанию, native по флагу). Pageable → Page/Slice. JpaRepository добавляет flush() и batch-операции.
Разбор: Spring Data в рантайме создаёт динамический прокси на интерфейс-репозиторий, парсит имена методов (findByEmailAndStatus) в JPQL, поддерживает @Query (JPQL по умолчанию, native по флагу) и пагинацию через Pageable→Page/Slice. Дистракторы подменяют рантайм-прокси на кодогенерацию, путают JPQL с прямым нативным SQL и подменяют Pageable на Sort, тогда как Page возвращается именно при передаче Pageable, а не сам по себе из CrudRepository.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.