Spring Boot

Query JPA

Query JPA: derivazione dal nome del metodo, @Query con JPQL, query native, paginazione, ordinamento

30 domande da colloquio·
Mid-Level
1

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.

2

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.

3

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à.

4

In JPQL, quale clausola consente di filtrare i risultati?

5

Qual è la differenza principale tra JPQL e SQL nativo?

+27 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