Paginierung in Spring-Data-JPA
Frage:
In Spring-Data- JPA, wie kann eine Paginierung mit Anmerkungen erreicht werden?
Antwort:
Ab Spring Data JPA 1.7.0:
Die Schlüsselwörter „Top“ und „First“ ermöglichen eine Paginierung in Abfragemethoden:
<code class="java">findTop10ByLastnameOrderByFirstnameAsc(String lastname);</code>
Spring Data begrenzt die Ergebnisse entsprechend.
Für frühere Versionen:
Die Paginierung erfolgt mithilfe der Pageable-Schnittstelle und der Page-Abstraktion:
<code class="java">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);</code>
Wenn Kontextinformationen benötigt werden, verwenden Sie Page als Rückgabetyp:
<code class="java">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);</code>
Die Verwendung von Page erfordert das Auslösen einer Zählung Projektionsabfrage zur Berechnung von Metadaten. Stellen Sie sicher, dass PageRequest Sortierinformationen enthält, um stabile Ergebnisse zu erhalten.
Das obige ist der detaillierte Inhalt vonWie kann ich die Paginierung in Spring Data JPA mithilfe von Anmerkungen implementieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!