小编Dom*_*les的帖子

如何在SpringData和QueryDsl中指定多列OrderSpecifier?这可能吗

所以我在下面有以下查询:

public Iterable<Dealer> findAll(Dealer dealer) {
    QDealer qdealer = QDealer.dealer;

    BooleanExpression where = null;
    if(dealer.getId() != null && dealer.getId() != 0) {
        buildPredicate(qdealer.id.goe(dealer.getId()));
    }

    OrderSpecifier<String> sortOrder = QDealer.dealer.dealerCode.desc();
    Iterable<Dealer> results = dlrRpstry.findAll(where, sortOrder); 
    return results;
}
Run Code Online (Sandbox Code Playgroud)

上面的查询工作正常.但是,我想首先按dealerType对结果进行排序,然后由dealerCode对结果进行排序,有点像"由dealerType asc,dealerCode desc订购".如何实例化OrderSpecifier,以便结果将按dealerType排序,然后按经销商代码排序.

DealerRepository dlrRpstry扩展了JpaRepository,QueryDslPredicateExecutor

我使用的是spring-data-jpa-1.1.0,spring-data-commons-dist-1.3.2和querydsl-jpa-2.9.0.

如果OrderSpecifier不能配置为多列排序顺序,那么将满足我对"by dealerType asc,dealerCode desc"排序结果的要求的替代解决方案.

任何帮助将不胜感激.提前致谢.

缺口

querydsl spring-data-jpa

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

querydsl ×1

spring-data-jpa ×1