Rumah >Java >javaTutorial >Bagaimana untuk Mengehadkan Keputusan Pertanyaan dalam JPQL/HQL?

Bagaimana untuk Mengehadkan Keputusan Pertanyaan dalam JPQL/HQL?

Linda Hamilton
Linda Hamiltonasal
2025-01-04 20:53:44322semak imbas

How to Limit Query Results in JPQL/HQL?

Pertanyaan Had JPQL/HQL

Dalam Hibernate 3, anda mungkin menghadapi keperluan untuk melaksanakan pertanyaan had, serupa dengan klausa LIMIT MySQL. Walaupun kaedah setMaxResults() boleh digunakan, anda mencari alternatif HQL.

Fungsi Sejarah

Versi lama Hibernate/HQL dibenarkan untuk penggunaan klausa LIMIT dalam pertanyaan HQL. Walau bagaimanapun, ciri ini tidak disokong secara rasmi dan telah dihapuskan dalam versi seterusnya.

Penyelesaian Semasa

Pendekatan yang disyorkan untuk pertanyaan had dalam JPQL atau HQL ialah menggunakan Kaedah Query.setMaxResults(). Kaedah ini menetapkan bilangan maksimum hasil yang akan dikembalikan oleh pertanyaan dan secara berkesan mengehadkan bilangan rekod yang diambil.

Pertimbangkan pertanyaan HQL berikut menggunakan setMaxResults():

Query query = session.createQuery("from ATable order by aTableColumn desc");
query.setMaxResults(20);
List results = query.list();

Ini pertanyaan mendapatkan semula maksimum 20 baris daripada ATable, menyusunnya dalam susunan menurun oleh aTableColumn medan.

Ringkasnya, penggunaan klausa LIMIT dalam JPQL atau HQL tidak pernah disokong secara rasmi dan telah dialih keluar dalam versi yang lebih baharu. Alternatif yang disyorkan ialah menggunakan kaedah Query.setMaxResults() untuk mengehadkan bilangan hasil yang dikembalikan oleh pertanyaan.

Atas ialah kandungan terperinci Bagaimana untuk Mengehadkan Keputusan Pertanyaan dalam JPQL/HQL?. 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