Benutzerdefinierte Spaltenauswahl in Spring JPA
Durch die Auswahl bestimmter Spalten aus einer Tabelle in Spring JPA können Sie nur die Daten abrufen, die Sie benötigen, und so die Datenmenge reduzieren Bandbreite und Verbesserung der Leistung. So können Sie dies mit Spring Data JPA erreichen:
Projektionen verwenden
Spring Data JPA unterstützt Projektionen, mit denen Sie benutzerdefinierte Schnittstellen erstellen können, die die gewünschten Spalten definieren abrufen. Zum Beispiel für die erwähnte Beispielabfrage:
SELECT projectId, projectName FROM projects
Sie würden eine Schnittstelle erstellen:
interface ProjectIdAndName { String getId(); String getName(); }
Repository-Methode
Als nächstes fügen Sie hinzu eine Methode zu Ihrem Repository, die die gewünschte Projektion zurückgibt:
List<ProjectIdAndName> findAll();
Durch Aufrufen der findAll-Methode können Sie eine Liste von Objekten abrufen, die enthalten nur die ID- und Namenseigenschaften, ohne die gesamten Zeilendaten abzurufen.
Beispielverwendung
Um diese Funktion zu verwenden, injizieren Sie das Repository in Ihren Dienst oder Controller und rufen Sie es auf die findAll-Methode wie gewohnt:
@Autowired private ProjectRepository projectRepository; @GetMapping("/projects") public List<ProjectIdAndName> getAllProjects() { return projectRepository.findAll(); }
Dies gibt eine Liste von ProjectIdAndName-Objekten zurück, die jeweils die ausgewählten Spalten enthält Projekt.
Das obige ist der detaillierte Inhalt vonWie wähle ich mithilfe von Projektionen bestimmte Spalten in Spring JPA aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!