Spring Boot

Spring Data Repositories

Spring Data repositories, CrudRepository vs JpaRepository, query personalizzate, @EntityGraph, proiezioni

25 domande da colloquio·
Mid-Level
1

Qual è la differenza principale tra JpaRepository e CrudRepository?

Risposta

JpaRepository estende sia CrudRepository sia PagingAndSortingRepository, aggiungendo metodi specifici di JPA come flush(), saveAndFlush() e deleteInBatch(). CrudRepository fornisce solo le operazioni CRUD di base (save, findById, delete). Usare JpaRepository dà accesso a tutte le funzionalità JPA avanzate senza dover combinare più interfacce.

2

Qual è il ruolo di PagingAndSortingRepository nella gerarchia dei repository?

Risposta

PagingAndSortingRepository estende CrudRepository aggiungendo i metodi findAll(Pageable) e findAll(Sort) per la paginazione e l'ordinamento. Questo consente di recuperare i dati a pagine con Page/Slice e ordinare i risultati. JpaRepository estende questa interfaccia, offrendo così paginazione, ordinamento e funzionalità specifiche di JPA in un'unica interfaccia.

3

Qual è la gerarchia corretta delle interfacce repository di Spring Data?

Risposta

La gerarchia corretta è Repository (base) → CrudRepository (CRUD) → PagingAndSortingRepository (paginazione/ordinamento) → JpaRepository (specifico di JPA). Ogni livello aggiunge funzionalità: CrudRepository aggiunge save/delete, PagingAndSortingRepository aggiunge paginazione/ordinamento e JpaRepository aggiunge flush/batch. Questa architettura consente di scegliere il livello di funzionalità necessario.

4

Quale metodo di JpaRepository consente di sincronizzare immediatamente le modifiche con il database?

5

In quale caso è preferibile usare CrudRepository invece di JpaRepository?

+22 domande da colloquio

Padroneggia Spring Boot per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis