Spring Boot - 在 sortBy (Pageable) 中进行减法

问题描述

是否可以像这样在页面请求中将 sortBy 中的两个字段(数字)相减?

PageRequest.of(page,size,Sort.Direction.ASC,"price-discount")

。 这是我得到的错误..

排序表达式“price-discount: ASC”必须只包含在 select 子句中使用的属性引用或别名。如果你真的想用其他东西来排序,请使用 JpaSort.unsafe(...)!

解决方法

创建一个新的 PageRequest,并应用排序方向和属性。

PageRequest.of(page,size,Sort.Direction.ASC,"price","discount");

OR

创建一个新的 PageRequest,并应用排序参数。

Sort sort = Sort.by(
    Sort.Order.asc("price"),Sort.Order.desc("discount"));
PageRequest.of(page,sort);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...