QueryDSL定义了一个OrderSpecifier接口,可以通过调用asc()或desc()轻松地为任何字段获取实例。Spring Data JPA的QueryDslPredicateExecutor接口甚至有一个findAll()方法,它以OrderSpecifier作为参数。
然而,org.springframework.data.domain.PageRequest并不知道QueryDSL,它有自己的定义查询排序顺序的方式,即org.springframework.data.domain.Sort。它可以包含许多类似于OrderSpecifier的org.springframework.data.domain.Sort.Order,但它们不是类型安全的等等。
因此,如果我想进行分页查询并使用排序,真的没有办法使用QueryDSL来定义吗?
然而,org.springframework.data.domain.PageRequest并不知道QueryDSL,它有自己的定义查询排序顺序的方式,即org.springframework.data.domain.Sort。它可以包含许多类似于OrderSpecifier的org.springframework.data.domain.Sort.Order,但它们不是类型安全的等等。
因此,如果我想进行分页查询并使用排序,真的没有办法使用QueryDSL来定义吗?
getExpression()
似乎已被移除,目前没有简单的方法可以获取整个表达式名称,只能使用getName()
获取最后一个元素的名称。 - EpicPandaForcepath.toString()
,但它还包含了根变量的名称。 - Timo Westkämper