如何在 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 第一页结果。假设您有一个支持排序顺序的索引,这种方法也可能更有效。
我有一个显示一些评论的应用程序。现在我想按创建时间升序排列评论,但我想默认显示最新评论。
我是这样做的:
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 第一页结果。假设您有一个支持排序顺序的索引,这种方法也可能更有效。