Query JPA
Query JPA: derivazione dal nome del metodo, @Query con JPQL, query native, paginazione, ordinamento
1Che cos'è JPQL?
Che cos'è JPQL?
Risposta
JPQL (Java Persistence Query Language) è un linguaggio orientato agli oggetti che interroga le entità JPA anziché le tabelle del database. A differenza dell'SQL nativo, JPQL usa i nomi delle classi e delle proprietà, mantenendo l'astrazione a oggetti e facilitando la portabilità tra diversi sistemi di database. Conviene usare JPQL per impostazione predefinita, salvo quando servono funzionalità SQL specifiche.
2Quale annotazione consente di eseguire una query JPQL o SQL personalizzata?
Quale annotazione consente di eseguire una query JPQL o SQL personalizzata?
Risposta
L'annotazione @Query consente di definire query personalizzate direttamente nei repository di Spring Data JPA. Per impostazione predefinita può contenere JPQL oppure SQL nativo se l'attributo nativeQuery è impostato su true. Questa annotazione offre maggiore flessibilità rispetto ai query method derivati dal nome del metodo, soprattutto per query complesse con join o subquery.
3Come si associa un parametro di metodo a una @Query?
Come si associa un parametro di metodo a una @Query?
Risposta
L'annotazione @Param consente di assegnare un nome esplicito ai parametri utilizzati nelle query @Query. Questo approccio è più leggibile e robusto rispetto all'uso di posizioni indicizzate, soprattutto durante il refactoring del codice. L'annotazione è obbligatoria per i parametri nominati in JPQL ed è consigliata anche per le query SQL native per migliorare la manutenibilità.
In JPQL, quale clausola consente di filtrare i risultati?
Qual è la differenza principale tra JPQL e SQL nativo?
+27 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
Spring Data Repositories
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