Benutzerdefinierte Objektrückgabe in Spring Data JPA GROUP BY-Abfragen
Spring Data JPA bietet eine bequeme Möglichkeit, Datenbankoperationen mithilfe von JPQL (Java Persistence) durchzuführen Abfragesprache). Wenn Sie eine benutzerdefinierte JPQL-Abfrage mit einer GROUP BY-Klausel verwenden, möchten Sie möglicherweise benutzerdefinierte Objekte anstelle der integrierten SQL-Ergebnisarrays zurückgeben.
JPQL-Lösung
<code class="java">public class SurveyAnswerStatistics { private String answer; private Long count; ... // getters and setters }</code>
<code class="java">@Query("SELECT new com.path.to.SurveyAnswerStatistics(v.answer, COUNT(v)) FROM Survey v GROUP BY v.answer") public List<SurveyAnswerStatistics> findSurveyCount();</code>
Native Query Solution
Für native Abfragen werden Spring Data Projection-Schnittstellen anstelle von Bean-Klassen verwendet:
<code class="java">public interface SurveyAnswerStatistics { String getAnswer(); int getCnt(); ... // additional getters }</code>
<code class="java">@Query(nativeQuery = true, value = "SELECT v.answer AS answer, COUNT(v) AS cnt FROM Survey v GROUP BY v.answer") public List<SurveyAnswerStatistics> findSurveyCount();</code>
Wichtige Hinweise
Das obige ist der detaillierte Inhalt vonWie gebe ich benutzerdefinierte Objekte in Spring Data JPA GROUP BY-Abfragen zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!