Erzwingt die JPA-Abfrage, um alle Sammlungen / Felder mit Interesse zurückzugeben

8

Ich habe einige Szenarien, in denen der Server Objekte von der Datenbank mit JPA abfragt und dann die Objekte über Webdienste an den Client sendet.
Da der Client in solchen Szenarien den vollständigen Graphen erwartet, würde ich die lazy loaded Collections mit eifrigem Laden überschreiben und wahrscheinlich einen Batch-Ladevorgang (für die Performance) anfordern. Gibt es eine Möglichkeit in JPA (oder EclipseLink), die Abfrage in generischer Weise zu überschreiben (ohne die Abfrage neu zu schreiben) und das vollständige Diagramm anzufordern?

    
Avner Levy 08.04.2013, 12:42
quelle

2 Antworten

2

Wenn Sie eclipselink verwenden, können Sie die integrierten Abfragehinweise verwenden. Auf diese Weise müssen Sie Ihre jpql nicht neu schreiben, aber Sie können den Abruftyp in Java definieren.

Ссылка

    
Kurt Du Bois 08.04.2013, 13:05
quelle
9

10.1.3. Fetch Joins

JPQL-Abfragen können eine oder mehrere Join-Fetch-Deklarationen angeben, mit denen die Abfrage angeben kann, welche Felder in den zurückgegebenen Instanzen vorab abgerufen werden.

%Vor%


Die obige Abfrage gibt Magazine-Instanzen zurück und garantiert, dass das Feld articles bereits in den zurückgegebenen Instanzen abgerufen wird.

Mehrere Felder können in separaten Join-Fetch-Deklarationen angegeben werden:

%Vor%


Quelle: Ссылка

    
Gab 08.04.2013 12:44
quelle

Tags und Links