zoukankan      html  css  js  c++  java
  • spring data JPA 中的多属性排序

    在此介绍我所用的一种方式:

    第一步,引包

    import org.springframework.data.domain.Sort;
    import org.springframework.data.domain.Sort.Order;

    第二步,service方法代码

      @Override
    public Page<TurnOverRecord> findAll(Integer pageNum, Integer pageSize, TurnOverRecord turnOverRecord) {
        //多属性排序
        //先按isTurnOver从小到大升序,再按turnOverTime升序
    List< Order> orders=new ArrayList< Order>();
    orders.add( new Order(Sort.Direction. ASC, "isTurnOver"));
    orders.add( new Order(Sort.Direction. ASC, "turnOverTime"));
    Pageable pageable= new PageRequest(pageNum - 1, pageSize, new Sort(orders));

    Specification<TurnOverRecord> specification = new Specification<TurnOverRecord>() {
    @Override
    public Predicate toPredicate(Root<TurnOverRecord> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
    Predicate predicate = cb.conjunction();
    // 单属性排序
              // query.orderBy(cb.asc(root.get("isTurnOver")));
              // query.orderBy(cb.desc(root.get("id")));
              // query.groupBy(root.get("id"));
    query.distinct(true);
    //基础条件
    predicate.getExpressions().add(cb.equal(root.get("flag"), 1));
    if (turnOverRecord != null) {
    其他筛选条件
    }
    return predicate;
    }
    };
    return turnOverRecordDao.findAll(specification, pageable);
    }
  • 相关阅读:
    概率与数学期望
    UVa10870
    UVa10870
    特殊符号+运算优先级
    特殊符号+运算优先级
    poj 2065 SETI(gauss--->≡)
    poj 2065 SETI(gauss--->≡)
    线性筛法证明
    HDU 1728 逃离迷宫
    T^T ONLINE JUDGE 2401 尼克的任务
  • 原文地址:https://www.cnblogs.com/meng-ma-blogs/p/7466244.html
Copyright © 2011-2022 走看看