Spring-Data-JPA Anotasi setMaxResults()
Spring-Data-JPA menyediakan cara intuitif untuk mengurus pengambilan dan manipulasi data melalui anotasi antara muka, tetapi satu ciri yang boleh menyebabkan kekeliruan ialah menetapkan bilangan maksimum hasil untuk dikembalikan dengan setMaxResults(). Berikut ialah penjelasan tentang penyelesaian dan perbincangan tentang sebab ia tidak disokong secara langsung oleh anotasi.
setMaxResults() Anotasi
Malangnya, pada Spring Data JPA 1.0.3 .RELEASE, tiada sokongan anotasi langsung untuk setMaxResults(). Sebaliknya, pendekatan yang disyorkan ialah menggunakan abstraksi penomboran yang disediakan oleh Spring Data.
Menggunakan Penomboran
Penomboran membolehkan anda mendapatkan semula data dalam kepingan, menyatakan indeks dan saiz daripada kepingan yang dikehendaki. Untuk menggunakan penomboran, laksanakan antara muka Repositori dan gunakan kaedah seperti findByUsername(Nama pengguna rentetan, boleh halaman boleh halaman). Anda boleh mencipta objek boleh halaman menggunakan PageRequest dan menyediakan indeks permulaan (berasaskan 0) dan saiz kepingan.
Contoh Menggunakan Penomboran:
<code class="java">Pageable topTen = new PageRequest(0, 10); List<User> result = repository.findByUsername("Matthews", topTen);</code>
Mengapa Tiada Sokongan Anotasi Langsung?
Data Musim Bunga memilih untuk tidak menyertakan sokongan anotasi langsung untuk setMaxResults() disebabkan kerumitan yang diperkenalkan dengan perlu menentukan susunan pengisihan keputusan. Tanpa menyatakan pesanan secara jelas, keputusan mungkin berbeza-beza berdasarkan keputusan pengoptimuman pangkalan data, yang membawa kepada tingkah laku yang tidak konsisten. Penomboran, sebaliknya, memerlukan maklumat pengisihan yang jelas untuk memastikan hasil yang stabil.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengehadkan Keputusan Pertanyaan dalam JPA Data Spring Tanpa Menggunakan Anotasi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!