Rumah >Java >javaTutorial >Bagaimana untuk Mengehadkan Keputusan Pertanyaan dalam JPA Data Spring?
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.
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.
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!