Page<Question> questionPage = questionRepository.findAll((root, query, cb) ->{ List<Predicate> predicateList = Lists.newArrayList(); predicateList.add(cb.equal(root.get("status"),1)); predicateList.add(cb.in(root.get("handle")).value(Arrays.asList(0,1))); predicateList.add(cb.greaterThan(root.get("createTime"), new Date())); Predicate[] predicates = new Predicate[predicateList.size()]; return cb.and(predicateList.toArray(predicates)); }, PageRequest.of(args.getPageNum() - 1, args.getPageSize(), Sort.Direction.DESC,new String[]{"top","createTime"}));