Cara Menggunakan Anotasi setMaxResults dalam Spring-Data-JPA
Soalan anda berkaitan dengan menetapkan bilangan maksimum hasil yang dikembalikan melalui kaedah pertanyaan dalam Spring-Data-JPA menggunakan anotasi.
Penyelesaian
Sejak Spring Data JPA 1.7.0 (Kereta keluaran Evans) memperkenalkan kata kunci Teratas dan Pertama, anda boleh menentukan kaedah pertanyaan seperti ini:
findTop10ByLastnameOrderByFirstnameAsc(String lastname);
Data Spring akan mengehadkan keputusan secara automatik kepada nombor yang ditentukan (lalai kepada 1 jika ditinggalkan). Ingat bahawa susunan keputusan menjadi penting dalam kes ini.
Versi Sebelumnya
Dalam versi terdahulu, Spring Data menggunakan abstraksi penomboran untuk mendapatkan semula kepingan data. Begini cara untuk menggunakannya:
public interface UserRepository extends Repository<User, Long> { List<User> findByUsername(String username, Pageable pageable); } //... Pageable topTen = new PageRequest(0, 10); List<User> result = repository.findByUsername("Matthews", topTen);
Jika anda memerlukan konteks hasil, anda boleh menggunakan Halaman sebagai jenis pemulangan:
public interface UserRepository extends Repository<User, Long> { Page<User> findByUsername(String username, Pageable pageable); } //... Pageable topTen = new PageRequest(0, 10); Page<User> result = repository.findByUsername("Matthews", topTen); Assert.assertThat(result.isFirstPage(), is(true));
Perhatikan bahawa menggunakan Halaman sebagai jenis pemulangan akan mencetuskan unjuran kiraan untuk menentukan jumlah bilangan elemen.
Atas ialah kandungan terperinci Bagaimana untuk Mengehadkan Keputusan dalam Kaedah Pertanyaan Spring-Data-JPA?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!