Rumah  >  Artikel  >  Java  >  Bagaimana untuk Mengembalikan Objek Tersuai dalam Data Spring JPA GROUP BY Queries?

Bagaimana untuk Mengembalikan Objek Tersuai dalam Data Spring JPA GROUP BY Queries?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-01 14:30:02501semak imbas

How to Return Custom Objects in Spring Data JPA GROUP BY Queries?

Pemulangan Objek Tersuai dalam Spring Data JPA GROUP BY Queries

Spring Data JPA menawarkan cara yang mudah untuk melaksanakan operasi pangkalan data menggunakan JPQL (Java Persistence Bahasa Pertanyaan). Apabila menggunakan pertanyaan JPQL tersuai dengan klausa GROUP BY, anda mungkin mahu mengembalikan objek tersuai dan bukannya tatasusunan hasil SQL terbina.

JPQL Solution

  1. Tentukan kelas kacang mudah:
<code class="java">public class SurveyAnswerStatistics {
    private String answer;
    private Long count;
    ... // getters and setters
}</code>
  1. Kembalikan contoh kacang daripada kaedah repositori:
<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>

Penyelesaian Pertanyaan Asli

Untuk pertanyaan asli, antara muka Tayangan Data Spring digunakan dan bukannya kelas kacang:

  1. Tentukan antara muka unjuran:
<code class="java">public interface SurveyAnswerStatistics {
    String getAnswer();
    int getCnt();
    ... // additional getters
}</code>
  1. Kembalikan sifat yang diunjurkan daripada pertanyaan:
<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>

Nota Penting

  • Gunakan laluan yang layak sepenuhnya ke kelas kacang.
  • Panggil pembina kacang menggunakan kata kunci baharu.
  • Lepaskan atribut dalam susunan yang sama seperti parameter pembina kacang.
  • Pastikan pertanyaan adalah pertanyaan JPA yang sah.
  • Gunakan kata kunci SQL AS untuk pemetaan yang tidak jelas apabila menggunakan pertanyaan asli.

Atas ialah kandungan terperinci Bagaimana untuk Mengembalikan Objek Tersuai dalam Data Spring JPA GROUP BY Queries?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn