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);
    }
  • 相关阅读:
    oop klass

    广义表
    Huffman树
    二叉搜索树
    二叉树的前序、中序、后序、层序遍历
    循环链表解决约瑟夫环问题
    搭建局域网SVN代码服务器
    【CheckList】精简用例,提升执行效率,减少漏测(总结篇)
    测试资源不同时,如何有针对性的设计测试用例?
  • 原文地址:https://www.cnblogs.com/meng-ma-blogs/p/7466244.html
Copyright © 2011-2022 走看看