Spring Boot

Spring Data Repositories

Spring Data repositories, CrudRepository vs JpaRepository, niestandardowe zapytania, @EntityGraph, projekcje

25 pytań z rozmów·
Mid-Level
1

Jaka jest główna różnica między JpaRepository a CrudRepository?

Odpowiedź

JpaRepository rozszerza zarówno CrudRepository, jak i PagingAndSortingRepository, dodając metody specyficzne dla JPA, takie jak flush(), saveAndFlush() i deleteInBatch(). CrudRepository udostępnia jedynie podstawowe operacje CRUD (save, findById, delete). Użycie JpaRepository daje dostęp do wszystkich zaawansowanych funkcji JPA bez potrzeby łączenia wielu interfejsów.

2

Jaka jest rola PagingAndSortingRepository w hierarchii repository?

Odpowiedź

PagingAndSortingRepository rozszerza CrudRepository, dodając metody findAll(Pageable) i findAll(Sort) do paginacji i sortowania. Pozwala to pobierać dane stronami za pomocą Page/Slice oraz sortować wyniki. JpaRepository rozszerza ten interfejs, zapewniając tym samym paginację, sortowanie i funkcje specyficzne dla JPA w jednym interfejsie.

3

Jaka jest poprawna hierarchia interfejsów repository Spring Data?

Odpowiedź

Poprawna hierarchia to Repository (bazowy) → CrudRepository (CRUD) → PagingAndSortingRepository (paginacja/sortowanie) → JpaRepository (specyficzny dla JPA). Każdy poziom dodaje funkcje: CrudRepository dodaje save/delete, PagingAndSortingRepository dodaje paginację/sortowanie, a JpaRepository dodaje flush/batch. Ta architektura pozwala wybrać wymagany poziom funkcji.

4

Która metoda JpaRepository pozwala natychmiast zsynchronizować zmiany z bazą danych?

5

W którym przypadku lepiej wybrać CrudRepository zamiast JpaRepository?

+22 pytań z rozmów

Opanuj Spring Boot na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo