Spring Data Repositories
Spring Data repositories, CrudRepository проти JpaRepository, кастомні запити, @EntityGraph, проєкції
1У чому полягає основна різниця між JpaRepository та CrudRepository?
У чому полягає основна різниця між JpaRepository та CrudRepository?
Відповідь
JpaRepository розширює як CrudRepository, так і PagingAndSortingRepository, додаючи специфічні для JPA методи на кшталт flush(), saveAndFlush() та deleteInBatch(). CrudRepository надає лише базові CRUD-операції (save, findById, delete). Використання JpaRepository дає доступ до всіх розширених можливостей JPA без необхідності поєднувати кілька інтерфейсів.
2Яка роль PagingAndSortingRepository в ієрархії repository?
Яка роль PagingAndSortingRepository в ієрархії repository?
Відповідь
PagingAndSortingRepository розширює CrudRepository, додаючи методи findAll(Pageable) та findAll(Sort) для пагінації та сортування. Це дозволяє отримувати дані посторінково за допомогою Page/Slice і сортувати результати. JpaRepository розширює цей інтерфейс, надаючи таким чином пагінацію, сортування та специфічні для JPA можливості в одному інтерфейсі.
3Яка правильна ієрархія інтерфейсів repository Spring Data?
Яка правильна ієрархія інтерфейсів repository Spring Data?
Відповідь
Правильна ієрархія: Repository (базовий) → CrudRepository (CRUD) → PagingAndSortingRepository (пагінація/сортування) → JpaRepository (специфічний для JPA). Кожен рівень додає можливості: CrudRepository додає save/delete, PagingAndSortingRepository додає пагінацію/сортування, а JpaRepository додає flush/batch. Така архітектура дозволяє обрати потрібний рівень можливостей.
Який метод JpaRepository дозволяє негайно синхронізувати зміни з базою даних?
У якому випадку слід надавати перевагу CrudRepository над JpaRepository?
+22 питань зі співбесід
Інші теми співбесід Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Логування за допомогою SLF4J та Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Обробка винятків
Bean Validation
Основи Spring Data JPA
Сутності JPA та зв'язки
Запити JPA
Основи Spring Security
Spring Boot Actuator
Модульне тестування з JUnit та Mockito
Тестування Spring Boot
Profiles та Environment
RestTemplate і WebClient
Async і Scheduling
Кешування зі Spring
Spring WebFlux (Reactive)
Транзакції Spring
Розширена автентифікація та авторизація
JWT та stateless-безпека
OAuth2 та Authorization Server
Spring Boot і Docker
Microservices зі Spring
Spring Cloud Config
Оптимізація продуктивності
GraalVM Native Images
Опануй Spring Boot для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно