JpaSpecificationExecutor
生活随笔
收集整理的這篇文章主要介紹了
JpaSpecificationExecutor
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
條件分頁查詢
@Transactional(readOnly = true)@SuppressWarnings("unchecked")public Page<GroupDetails> findAllByPage(String uid, String title, LocalDateTime startTime, LocalDateTime endTime, Pageable pageable) {return repository.findAll((root, query, criteriaBuilder) -> {List<Predicate> predicateList = new ArrayList<>();predicateList.add(criteriaBuilder.equal(root.get("userPid"), uid));if (startTime != null || endTime != null) {predicateList.add(criteriaBuilder.between(root.get("createTime"), startTime, endTime));}if (title != null && !title.isEmpty()) {predicateList.add(criteriaBuilder.like(root.get("groupName"), "%" + title + "%"));}if (predicateList.size() > 0) {Predicate[] predicates = new Predicate[predicateList.size()];for (int i = 0; i < predicates.length; i++) {predicates[i] = predicateList.get(i);}query.where(predicates);}query.orderBy(criteriaBuilder.desc(root.get("createTime")));return query.getRestriction();}, pageable);}總結(jié)
以上是生活随笔為你收集整理的JpaSpecificationExecutor的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: map操作;时间排序;repositor
- 下一篇: 循环中套查询优化