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);
    }
  • 相关阅读:
    ansible语法
    hadoop本地模式安装及配置
    linux免密钥登录
    ansible配置文件
    ansible(安装)
    elasticsearch基本概念
    elasticsearch基本概念
    elasticsearch倒排索引介绍
    Flex tree展开节点问题!
    Oracle-Trigger-Insert tableA and tableB
  • 原文地址:https://www.cnblogs.com/meng-ma-blogs/p/7466244.html
Copyright © 2011-2022 走看看