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

Bagaimana untuk Mengehadkan Keputusan dalam Kaedah Pertanyaan Spring-Data-JPA?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-28 02:42:02940semak imbas

How to Limit Results in Spring-Data-JPA Query Methods?

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!

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