Gibt es eine Möglichkeit, die vollständigen Details einer verbundenen Entität anstelle einer Verknüpfung zurückzugeben? Im Beispiel unten möchte ich auch die Details des Produkts zurückgeben, wenn ich eine Liste von 100 Käufen habe, würde es vermeiden, 100 Anrufe zu machen, um die Produktdetails zu erhalten.
Die Repositories für die Entitäten Product, User und Purchase werden alle unter Verwendung von spring-data-jpa
erstellt %Vor%Entitäten und Repositories;
%Vor%Ja.
Sie können etwas wie eine TypedQuery .
Sie würden also ein Plain Old Java Object (POJO) erstellen, das alle benötigten Spalten (Felder) enthält. Sie verwenden dann eine TypeQuery, um alle Felder aus der Datenbank abzurufen und in einer benutzerdefinierten Ergebnismenge (d. H. Ihrem POJO oder einer Sammlung Ihres POJO) zurückzugeben.
Hier ist ein Beispiel:
%Vor%Es sieht so aus, als hätten Sie bereits verbundene Entitäten. Wenn Sie "Eager Loading" verwenden, müssen Sie lediglich eine einfache Abfrage in Ihrer Repositoryimplementierung durchführen. Eager Loading bedeutet, dass JPA automatisch die zugehörigen Attribute auswählt. Wenn Sie Jersey verwenden, um das Ergebnis in JSON zu serialisieren, serialisiert es standardmäßig die Felder der Ergebnismenge.
Hier ist ein Beispiel aus einem JPA-Projekt, das ich kürzlich abgeschlossen habe. Das Schema ist einfach. Ich habe eine Entität "Buch". Jedes "Buch" hat einen verwandten "Autor". Jeder "Autor" hat einen Vor- und Nachnamen. Wenn Sie ein "Buch" auswählen, wählen Sie in der JPA-Abfrage auch den Vor- und Nachnamen des Autors. Ich glaube, das ist analog zu dem, was Sie erreichen wollen:
%Vor% Die Eingabe id
ist einfach die Buch-Taste (eine Zahl wie 105).
Hoffe das hilft:)
Tags und Links java spring-data-jpa spring spring-data-rest