eh.*_*eh. 6 spring querydsl spring-data-jpa
QueryDSL定义了一个OrderSpecifier接口,通过调用asc()或者可以很容易地获得任何字段的实例desc().QueryDslPredicateExecutorSpring Data JPA 的界面甚至有一个findAll()以OrderSpecifiers为参数的方法.
org.springframework.data.domain.PageRequest但是对QueryDSL一无所知,它有自己定义查询排序顺序的方法,即org.springframework.data.domain.Sort.它可以包含org.springframework.data.domain.Sort.Order许多OrderSpecifiers,它们很像s,除了它们不是类型安全的等等.
所以,如果我想制作使用排序的分页查询,是否真的没有办法使用QueryDSL来定义它?
如果你找不到另一种方法,它应该像这样工作
private Sort sortBy(Path<?> path) {
return new Sort(Sort.Direction.ASC, path.getMetadata().getExpression().toString());
}
Run Code Online (Sandbox Code Playgroud)
这是Sort使用QueryDSL 构造对象的一种更简单的方法:
new QSort(user.manager.firstname.asc())
Run Code Online (Sandbox Code Playgroud)
然后你可以PageRequest像这样使用它:
new PageRequest(0, 10, new QSort(user.manager.firstname.asc()))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4782 次 |
| 最近记录: |