首页  >  文章  >  Java  >  如何在 Spring Data JPA 中使用注解实现分页?

如何在 Spring Data JPA 中使用注解实现分页?

Barbara Streisand
Barbara Streisand原创
2024-10-29 03:04:29250浏览

How Can I Implement Pagination in Spring Data JPA Using Annotations?

Spring-Data-JPA 中的分页

问题:

在 Spring-Data- JPA,如何通过注解实现分页?

答案:

从 Spring Data JPA 1.7.0 开始:

Top 和 First 关键字允许在查询方法中进行分页:

<code class="java">findTop10ByLastnameOrderByFirstnameAsc(String lastname);</code>

Spring Data 将相应地限制结果。

对于以前的版本:

使用Pageable接口和Page抽象完成分页:

<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>

如果需要上下文信息,请使用Page作为返回类型:

<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>

使用Page需要触发计数投影查询来计算元数据。确保PageRequest包含排序信息以获得稳定的结果。

以上是如何在 Spring Data JPA 中使用注解实现分页?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn