2013-04-08 7 views
8

Ho alcuni scenari in cui il server interroga gli oggetti dal database utilizzando JPA e quindi invia gli oggetti al client tramite i servizi Web.
Dal momento che il client si aspetta il grafico completo in tali scenari, vorrei sovrascrivere le raccolte pigre caricate con caricamento ansioso e probabilmente richiesta di caricamento in batch (per prestazioni). C'è un modo in JPA (o EclipseLink) per sovrascrivere la query in modo generico (senza riscrivere la query) e richiedere il grafico completo?Forzare la query JPA per restituire avidamente tutti i campi/raccolte

risposta

9

10.1.3. Fetch Joins

Le query JPQL possono specificare una o più dichiarazioni di raccolta join, che consentono alla query di specificare quali campi nelle istanze restituite verranno precaricati.
SELECT x FROM Magazine x join fetch x.articles WHERE x.title = 'JDJ'
La query sopra restituisce le istanze di Magazine e garantisce che il campo degli articoli verrà già recuperato nelle istanze restituite.
campi multipli possono essere specificati in separati join fetch dichiarazioni:
SELEZIONA x dalla rivista x join fetch x.articles uniscono prendere x.authors DOVE x.title = 'JDJ'

Fonte: http://docs.oracle.com/cd/E13189_01/kodo/docs40/full/html/ejb3_overview_query.html#ejb3_overview_join_fetch

Problemi correlati