当前使用版本(必填,否则不予处理)

v3.3.2

该问题是如何引起的?(确定最新版也有问题再提!!!)

由于前端展示方式不同,需要对同一数据表分页查询和查询所有(都按time倒序),就让前端传size=-1来查询所有, 但是size=-1的时候,page中设置的排序失效。 看了下PaginationInterceptor#intercept方法源码

/*
 * 不需要分页的场合,如果 size 小于 0 返回结果集
 */
if (null == page || page.getSize() < 0) {
    return invocation.proceed();
}
...
String buildSql = concatOrderBy(originalSql, page);

处理排序的地方语句没有执行。 个人觉得在查询所有的情况下(size为负)也需要处理排序,虽然可以通过在QueryWrapper中设置排序,但如果排序由前端传入就需要从page中转到wrapper中才能生效

重现步骤(如果有就写完整)

前端未自定义排序时,在page中设置了默认time倒序

if (page.getOrders().isEmpty()) {
    page.addOrder(OrderItem.desc("time"));  
}  

报错信息