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

Bagaimana untuk Mengehadkan Keputusan Pertanyaan dalam JPQL dan HQL?

Patricia Arquette
Lepaskan: 2024-12-10 18:17:14
asal
406 orang telah melayarinya

How to Limit Query Results in JPQL and HQL?

Menghadkan Pertanyaan dalam JPQL dan HQL

Dalam JPQL atau HQL, adalah mungkin untuk mengehadkan bilangan hasil yang dikembalikan oleh pertanyaan menggunakan kaedah setMaxResults. Walau bagaimanapun, versi lama Hibernate membenarkan pengguna menggunakan sintaks yang serupa dengan klausa LIMIT MySQL.

Sokongan untuk Had dalam Versi Lama Hibernate

Dalam Hibernate 2, ia adalah mungkin untuk melaksanakan pertanyaan had menggunakan sintaks berikut:

SELECT * FROM a_table ORDER BY a_table_column DESC LIMIT 0, 20;
Salin selepas log masuk

Sintaks ini membenarkan pengguna untuk menentukan offset dan bilangan maksimum hasil untuk dikembalikan.

Pengalihan Keluar Sokongan Had dalam Hibernate 3

Walau bagaimanapun, dengan pengenalan Hibernate 3, Klausa LIMIT tidak lagi disokong dalam HQL. Menurut respons pada forum Hibernate, ciri ini tidak pernah dimaksudkan untuk menjadi sebahagian daripada HQL.

Menggunakan setMaxResults() untuk Result Limiting

Untuk mengehadkan bilangan daripada hasil yang dikembalikan oleh pertanyaan dalam Hibernate 3, pengguna mesti menggunakan setMaxResults kaedah:

Query query = session.createQuery("FROM ATable ORDER BY aTableColumn DESC");
query.setMaxResults(20);
List<ATable> resultList = query.list();
Salin selepas log masuk

Kaedah ini mengambil nilai integer sebagai hujah, menyatakan bilangan maksimum hasil untuk dikembalikan.

Kesimpulan

Dalam kesimpulannya, klausa LIMIT tidak disokong dalam JPQL dan HQL dalam Hibernate 3 dan versi yang lebih baru. Sebaliknya, pengguna mesti menggunakan kaedah setMaxResults untuk mengehadkan bilangan hasil yang dikembalikan oleh pertanyaan mereka.

Atas ialah kandungan terperinci Bagaimana untuk Mengehadkan Keputusan Pertanyaan dalam JPQL dan 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