Spring Boot Spring Data Jpa全解之分页特殊查询

代码

// 查询操作
        // 分页条件
        PageRequest pageable = new PageRequest(pageIndex, pageSize);
        Specification<ArticleEntity> speTest = new Specification<ArticleEntity>() {
            @Override
            public Predicate toPredicate(Root<ArticleEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
            // 重点说明:get中的参数为实体类中对应的变量名,get前可以定义泛型
                query.where(cb.equal(root.get("columnEntity").<Integer>get("id"), ColumnEntity.getId()));
                query.orderBy(cb.desc(root.get("id").as(Integer.class)));
                return query.getRestriction();
            }
        };

        Page<ArticleEntity> page = articleDao.findAll(speTest, pageable);

        List<ArticleEntity> articleEntityList = page.getContent();
posted @ 2017-08-05 11:56  keivnyau  阅读(222)  评论(0编辑  收藏  举报