Репозитории 😕 база
Что такое репозиторий в Spring Data простыми словами?
Интерфейс для работы с БД: объявляешь методы — Spring сам генерирует реализацию (найти, сохранить, удалить).
Репозитории 😕 база
Зачем Spring Data, если есть JPA?
Убирает шаблонный код: не пишешь реализацию DAO — достаточно интерфейса, а методы по имени превращаются в запросы.
Репозитории 🤓 уверенно
Какие основные интерфейсы даёт Spring Data?
CrudRepository, JpaRepository, PagingAndSortingRepository — базовый CRUD, пагинация и сортировка из коробки.
Репозитории 🤓 уверенно
Как сделать свой запрос в Spring Data?
Через имя метода (findByEmail) или аннотацию @Query с JPQL/SQL.
Репозитории 🧐 глубоко
Как сделать пагинацию и сортировку в Spring Data?
Репозитории 🧐 глубоко
Как настроить кэширование запросов?
Репозитории 😎 про
Какие блокировки поддерживает Spring Data JPA?
Репозитории 😎 про
Как настроить аудит сущностей (@CreatedDate и т.д.)?
Запросы 😕 база
Как работает findByEmailAndActiveTrue без реализации?
Spring Data парсит имя метода и сам генерирует запрос: WHERE email = ? AND active = true.
Запросы 😕 база
Когда derived-метод лучше заменить на @Query?
Когда имя метода становится нечитаемым (3+ условий) или нужен JOIN FETCH, группировка, подзапрос.
Запросы 🤓 уверенно
Что возвращать из репозитория: Optional, List или Entity?
Один объект, которого может не быть, — Optional<T>. Коллекцию — List (пустой, не null). Голый T — только если отсутствие невозможно.
Запросы 🤓 уверенно
Что такое projection в Spring Data?
Выборка части полей вместо всей сущности: интерфейс с геттерами нужных полей — меньше данных из базы, быстрее.
Запросы 🧐 глубоко
Чем Page отличается от Slice и что дороже?
Запросы 🧐 глубоко
Что делает @Modifying и зачем ему clearAutomatically?
Запросы 😎 про
Как написать спецификацию (Specification) для динамических фильтров?
Запросы 😎 про
Стриминг больших выборок: Stream<T> из репозитория — как и с какими оговорками?