Spring Data Repositories
Spring Data repositories, CrudRepository vs JpaRepository, query personalizzate, @EntityGraph, proiezioni
1Qual è la differenza principale tra JpaRepository e CrudRepository?
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.
2Qual è il ruolo di PagingAndSortingRepository nella gerarchia dei repository?
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.
3Qual è la gerarchia corretta delle interfacce repository di Spring Data?
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.
Quale metodo di JpaRepository consente di sincronizzare immediatamente le modifiche con il database?
In quale caso è preferibile usare CrudRepository invece di JpaRepository?
+22 domande da colloquio
Altri argomenti di colloquio Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging con SLF4J e Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Gestione delle eccezioni
Bean Validation
Fondamenti di Spring Data JPA
Entità JPA e relazioni
Query JPA
Fondamenti di Spring Security
Spring Boot Actuator
Test unitari con JUnit e Mockito
Testing in Spring Boot
Profiles e Environment
RestTemplate e WebClient
Async e Scheduling
Caching con Spring
Spring WebFlux (Reactive)
Transazioni Spring
Autenticazione e autorizzazione avanzate
JWT e sicurezza stateless
OAuth2 e Authorization Server
Spring Boot e Docker
Microservices con Spring
Spring Cloud Config
Ottimizzazione delle prestazioni
GraalVM Native Images
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