Rumah >Java >javaTutorial >Bagaimana untuk Menukar Hasil Pertanyaan Asli kepada Koleksi POJO di JPA?

Bagaimana untuk Menukar Hasil Pertanyaan Asli kepada Koleksi POJO di JPA?

Barbara Streisand
Barbara Streisandasal
2024-12-13 15:51:111000semak imbas

How to Convert Native Query Results to POJO Collections in JPA?

Menukar Hasil Pertanyaan Asli kepada Koleksi POJO dalam JPA

Menggunakan JPA, adalah mungkin untuk melaksanakan pertanyaan SQL asli dan mendapatkan semula hasilnya. Walau bagaimanapun, secara lalai, keputusan ini dikembalikan sebagai tatasusunan objek. Jika anda ingin menukarnya kepada koleksi Objek Java Lama Biasa (POJO) dengan medan tertentu, terdapat beberapa pendekatan yang tersedia.

Menggunakan Entiti Dipeta (JPA 2.0)

Dalam JPA 2.0, pertanyaan asli boleh dipetakan kepada entiti JPA. Ini bermakna kelas POJO yang digunakan untuk mewakili hasil mestilah entiti yang dipetakan, bermakna ia telah dianotasi dengan anotasi JPA yang sesuai. Atribut resultClass bagi anotasi NamedNativeQuery boleh digunakan untuk menentukan kelas ini.

Pemetaan Manual

Sebelum JPA 2.1, pendekatan pemetaan manual telah digunakan. Ini melibatkan penulisan kod untuk memetakan tatasusunan tuple yang dikembalikan oleh pertanyaan asli kepada kelas POJO. Pemetaan ini boleh dicapai menggunakan refleksi.

Menggunakan @SqlResultSetMapping (JPA 2.1)

Dengan pengenalan JPA 2.1, anotasi @SqlResultSetMapping bagi pemetaan pertanyaan asli membenarkan pemetaan pertanyaan asli keputusan ke kelas POJO. Pendekatan ini tidak memerlukan POJO untuk menjadi entiti JPA.

Menggunakan Pemetaan XML

Dalam kes di mana pengisytiharan pertanyaan yang dinamakan dalam entiti adalah tidak diingini, pendekatan pemetaan XML alternatif boleh digunakan. Elemen sql-result-set-mapping boleh ditakrifkan dalam fail META-INF/orm.xml untuk memetakan hasil pertanyaan asli kepada kelas POJO tertentu.

Kesimpulan

Bergantung pada versi JPA anda dan keperluan khusus projek anda, terdapat beberapa kaedah yang tersedia untuk menukar hasil pertanyaan asli kepada koleksi POJO. Pilihan pendekatan bergantung pada faktor seperti keserasian JPA, sifat kelas POJO dan tahap konfigurasi yang diingini.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Hasil Pertanyaan Asli kepada Koleksi POJO di JPA?. 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