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

Bagaimana untuk Mengehadkan Keputusan Pertanyaan dalam JPQL/HQL?

Linda Hamilton
Lepaskan: 2025-01-04 20:53:44
asal
216 orang telah melayarinya

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();
Salin selepas log masuk

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!

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