Jpa QueryDsl中似乎可以像这样使用分页:
return new JPAQueryFactory(getEntityManager())
.selectFrom(entity)
.where(where_clause)
.orderBy(order_by_clause)
.offset(pageNumber * 20)
.limit(20)
.fetchResults();
问题如下:
- 这是最优的方法吗?fetchResults是否只从数据库中加载20个元素,并进行计数查询以获取有多少实体在数据库中?
- 或者可能有一些选项,例如.page(2).limit(20)?
是的,我知道Spring-Data已经具有Paging和QueryDsl接口,但由于Spring-Data不支持复杂的“order by”子句,因此我无法使用它:(