Rumah > Java > javaTutorial > Bagaimana untuk Mendapatkan Objek Tersuai daripada Hasil Pertanyaan Dikumpulkan JPA Data Spring?

Bagaimana untuk Mendapatkan Objek Tersuai daripada Hasil Pertanyaan Dikumpulkan JPA Data Spring?

DDD
Lepaskan: 2024-11-01 14:21:02
asal
615 orang telah melayarinya

How to Retrieve Custom Objects from Spring Data JPA Grouped Query Results?

Cara Mendapatkan Objek Tersuai daripada Spring Data JPA Hasil Pertanyaan Berkumpulan

Gambaran Keseluruhan

Spring Data JPA menyediakan mekanisme untuk melaksanakan pertanyaan JPQL dan mendapatkan hasil sebagai objek tersuai.

Pertanyaan JPQL

Langkah 1: Tentukan Kelas Kacang

Buat kelas kacang mudah untuk mewakili struktur objek yang diingini:

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

  // Constructor for object instantiation
}</code>
Salin selepas log masuk

Langkah 2: Gunakan Kacang dalam Kaedah Repositori

Ubah suai kaedah repositori untuk mengembalikan kejadian kelas kacang:

<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

Jika menggunakan pertanyaan asli, sintaks khusus JPA tidak disokong. Sebaliknya, gunakan:

Langkah 1: Buat Antara Muka Unjuran

Tentukan antara muka unjuran untuk menentukan sifat objek yang dikehendaki:

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

Langkah 2: Petakan Medan Hasil dalam Pertanyaan

Gunakan kata kunci SQL AS dalam pertanyaan untuk memetakan medan hasil kepada sifat unjuran:

<code class="java">@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

Pertimbangan

  • Pastikan laluan kelas kacang adalah layak sepenuhnya.
  • Gunakan kata kunci baharu semasa membuat seketika kelas kacang.
  • Tertib atribut dalam pembina mesti sepadan dengan susunan medan pertanyaan.
  • Gunakan antara muka unjuran untuk pertanyaan asli.
  • Peta setiap medan hasil menggunakan AS dalam pertanyaan asli.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Objek Tersuai daripada Hasil Pertanyaan Dikumpulkan JPA Data Spring?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan