ホームページ >Java >&#&チュートリアル >Spring Data JPA GROUP BY クエリでカスタム オブジェクトを返す方法
Spring Data JPA GROUP BY クエリで返されるカスタム オブジェクト
Spring Data JPA は、JPQL (Java Persistence) を使用してデータベース操作を実行する便利な方法を提供します。クエリ言語)。 GROUP BY 句を含むカスタム JPQL クエリを使用する場合、組み込み SQL 結果配列の代わりにカスタム オブジェクトを返したい場合があります。
JPQL ソリューション
<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>
ネイティブ クエリ ソリューション
ネイティブ クエリの場合、Bean クラスの代わりに Spring Data Projection インターフェイスが使用されます:
<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>
重要な注意事項
以上がSpring Data JPA GROUP BY クエリでカスタム オブジェクトを返す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。