如何在 spring 数据 JPA 中将最后一页设为默认值

How to get last page as default in spring data JPA

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

我是这样做的:

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

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

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

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

2.Count 总页数 table 并除以页面大小 .

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

或者另一个是使用投影

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

3.Move到最后一页.

Client Side sorting + Hibernate Paging?

参考:

一个更简单的替代方法是简单地颠倒查询的顺序(更改您的 'order by' 子句)并简单地 return 第一页结果。假设您有一个支持排序顺序的索引,这种方法也可能更有效。