Rumah > Java > javaTutorial > Bagaimana untuk Mengembalikan Objek Tersuai daripada Spring Data JPA GROUP BY Queries?

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

Susan Sarandon
Lepaskan: 2024-11-02 06:16:02
asal
736 orang telah melayarinya

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

Pemulangan Objek Tersuai dalam Data Spring JPA KUMPULAN MENGIKUT Pertanyaan

Pengenalan;<🎜 p>Mengambil data sebagai objek tersuai daripada pertanyaan JPA GROUP BY Spring Data meningkatkan persembahan data dan memudahkan pemprosesan selanjutnya. Panduan ini meneroka cara untuk mencapai ini, mempamerkan penyelesaian untuk kedua-dua JPQL dan pertanyaan asli.


JPQL Queries

pertanyaan JPQL dalam JPA spesifikasi menawarkan sokongan asli untuk mengembalikan objek tersuai.


Langkah 1: Buat Kacang Tersuai

Tentukan kelas kacang mudah untuk mewakili struktur output yang diingini:


<code class="java">public class SurveyAnswerStatistics {
  private String answer;
  private Long cnt;

  // Constructor
}</code>
Salin selepas log masuk

Langkah 2: Kembalikan Contoh Kacang

Kemas kini kaedah repositori untuk mengembalikan kejadian kacang tersuai :


<code class="java">public interface SurveyRepository extends CrudRepository<Survey, Long> {
    @Query("SELECT new com.path.to.SurveyAnswerStatistics(v.answer, COUNT(v)) FROM Survey v GROUP BY v.answer")
    List<SurveyAnswerStatistics> findSurveyCount();
}</code>
Salin selepas log masuk

Pertanyaan Asli

Walaupun pertanyaan asli kekurangan sokongan langsung untuk kata kunci baharu, antara muka Tayangan Data Spring menyediakan alternatif penyelesaian:


Langkah 1: Tentukan Antara Muka Unjuran

Buat antara muka unjuran dengan sifat yang sepadan dengan output yang diingini:

<code class="java">public interface SurveyAnswerStatistics {
  String getAnswer();
  int getCnt();
}</code>
Salin selepas log masuk

Langkah 2: Kembalikan Sifat Unjuran

Kemas kini kaedah repositori untuk mengembalikan sifat yang diunjurkan:


<code class="java">public interface SurveyRepository extends CrudRepository<Survey, Long> {
    @Query(nativeQuery = true, value =
            "SELECT v.answer AS answer, COUNT(v) AS cnt FROM Survey v GROUP BY v.answer")
    List<SurveyAnswerStatistics> findSurveyCount();
}</code>
Salin selepas log masuk

Gunakan kata kunci SQL AS untuk memetakan medan hasil kepada sifat unjuran dengan lancar.

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

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan