java - 如何在 Spring Data JPA 中获取最后一页作为默认值

标签 java spring jpa pagination spring-data-jpa

我有一个显示一些评论的应用程序。现在我想按创建时间 asc 对评论进行排序,但我想默认显示最新的评论。

我这样做:

public Page<Comment> getComments(@PageableDefault(value = 15, sort = { "createdTime" }, direction = Sort.Direction.ASC) 
    Pageable pageable) {
    return commentRepository.findAll(pageable);
 }

现在我只能默认第一页,我该怎么做才能默认最后一页?

最佳答案

1.设置页面的第一个和最大结果。

setFirstResult(int first) ;
setMaxResults(int max) ;

2.计算该表格的总页数并除以页面大小

Query query=em.createQuery("SELECT COUNT
(emp.empName) FROM Employee emp");

或者另一种方法是使用投影

criteria.setProjection(Projections.rowCount());
int rowCount = (Integer) criteria.list().get(0);

3.移至最后一页

Client Side sorting + Hibernate Paging?

引用: Spring Data JPA, how to get the last Page through Pageable

关于java - 如何在 Spring Data JPA 中获取最后一页作为默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32001441/

相关文章:

Java:扫描仪停在新行

java - Spring Integration DefaultFtpSessionFactory 超时参数详细信息

java - Spring配置文件错误

java - JPA问题映射文件问题

java - Hibernate 5 是否支持基于 XML 的实体映射?

java - Eclipselink 合并/保留连接的对象

java - 如何通过任何脚本语言将控制从本地机传递到虚拟机?

Java awt 意外重复问题

java - 如何使用 SimpleMessageListenerContainer 禁用 RabbitMQ 预取计数

java - PlayFramework 从模型选择中获取字段