Rumah  >  Artikel  >  Java  >  Bagaimana untuk Mengehadkan Keputusan Pertanyaan dalam JPA Data Spring?

Bagaimana untuk Mengehadkan Keputusan Pertanyaan dalam JPA Data Spring?

Barbara Streisand
Barbara Streisandasal
2024-10-28 08:21:02703semak imbas

How to Limit Query Results in Spring Data JPA?

Anotasi untuk setMaxResults dalam Spring Data JPA

Dalam Spring Data versi JPA sebelum 1.7.0, adalah tidak mungkin untuk mengehadkan bilangan hasil yang dikembalikan oleh kaedah pertanyaan beranotasi menggunakan setMaxResults. Walau bagaimanapun, ciri ini telah diperkenalkan dalam Spring Data JPA 1.7.0.

Fungsi Baharu dalam Spring Data JPA 1.7.0

Setakat Spring Data JPA 1.7 .0 (Evans release train), anda boleh menggunakan kata kunci Teratas dan Pertama yang baru diperkenalkan untuk menentukan kaedah pertanyaan yang mengehadkan hasil secara automatik. Contohnya:

findTop10ByLastnameOrderByFirstnameAsc(String lastname);

Data Musim Bunga akan mengehadkan keputusan secara automatik kepada nombor yang anda tetapkan (menjadi lalai kepada 1 jika ditinggalkan). Ambil perhatian bahawa susunan keputusan menjadi relevan di sini, sama ada melalui klausa OrderBy seperti yang dilihat dalam contoh atau dengan menyerahkan parameter Isih ke dalam kaedah.

Penomboran dalam Versi Sebelumnya

Dalam versi Spring Data JPA sebelum 1.7.0, penomboran dikendalikan menggunakan antara muka boleh halaman pada bahagian yang meminta dan abstraksi Halaman pada bahagian hasil. Berikut ialah contoh:

public interface UserRepository extends Repository<User, Long> {

  List<User> findByUsername(String username, Pageable pageable);
}

Anda boleh menggunakan antara muka ini seperti ini:

Pageable topTen = new PageRequest(0, 10);
List<User> result = repository.findByUsername("Matthews", topTen);

Jika anda memerlukan maklumat lanjut tentang hasil carian (seperti halaman mana itu atau berapa banyak halaman di sana adalah dalam jumlah), gunakan Halaman sebagai jenis pulangan:

public interface UserRepository extends Repository<User, Long> {

  Page<User> findByUsername(String username, Pageable pageable);
}

Ini akan mencetuskan unjuran kiraan pertanyaan yang akan dilaksanakan bagi menentukan jumlah bilangan elemen.

Atas ialah kandungan terperinci Bagaimana untuk Mengehadkan Keputusan Pertanyaan dalam JPA Data Spring?. 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