Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Menukar Keputusan Pertanyaan Asli kepada POJO dalam JPA?
JPA: Menukar Hasil Pertanyaan Asli kepada POJO
Dalam pertanyaan anda, anda menyatakan keperluan untuk menukar hasil pertanyaan asli kepada koleksi kelas POJO yang mengandungi lima bidang. Anda memikirkan sama ada JPA mempunyai cara langsung untuk menghantar keputusan ke senarai objek POJO.
Pemetaan Objek Tersuai Menggunakan Refleksi
Satu penyelesaian yang mungkin sebelum pengenalan JPA 2.1 adalah untuk memetakan hasil secara manual menggunakan refleksi. Ini melibatkan penentuan kaedah untuk mencipta pembina POJO dengan nombor dan jenis medan yang sama seperti hasil pertanyaan asli dan memetakan tatasusunan tuple yang dikembalikan oleh pertanyaan kepada pembina.
Menggunakan @SqlResultSetMapping dalam JPA 2.1
JPA 2.1 memperkenalkan @SqlResultSetMapping anotasi, yang membolehkan anda membuat pemetaan untuk set hasil dalam entiti atau fail XML. Pemetaan ini mentakrifkan kelas sasaran dan lajur dalam set hasil yang sepadan dengan sifatnya. Dengan menggunakan pemetaan ini, anda boleh mencipta objek Pertanyaan dan menentukan nama pemetaan untuk menghantar keputusan terus ke senarai objek POJO.
Pemetaan XML
Jika anda lebih suka menyimpan anotasi daripada kelas entiti, anda boleh menentukan pemetaan dalam fail META-INF/orm.xml. Ini melibatkan mencipta elemen pertanyaan asli bernama dengan atribut pemetaan set-hasil dan mentakrifkan elemen pemetaan set-hasil-sql dengan hasil-pembina yang menentukan pemetaan kelas sasaran dan nama lajur.
Entiti Dipetakan (JPA 2.0)
Sementara JPA 2.0 melakukannya tidak membenarkan pemetaan pertanyaan asli ke kelas POJO, ia menyokong pemetaan kepada entiti. Ini memerlukan POJO dianotasi sebagai entiti dan sifatnya dipetakan ke lajur pangkalan data.
Kesimpulan
Pendekatan yang anda pilih untuk memetakan hasil pertanyaan asli kepada Kelas POJO bergantung pada versi JPA yang anda gunakan dan keutamaan anda untuk anotasi atau konfigurasi XML. Pilihan yang dibentangkan menyediakan pelbagai tahap fleksibiliti dan kemudahan, membolehkan anda memilih yang paling sesuai dengan keperluan projek anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Keputusan Pertanyaan Asli kepada POJO dalam JPA?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!