spring-data-jpa

between and

between and 獲取的是閉區(qū)間的數(shù)據(jù),如:[100,200]

復(fù)雜查詢分頁

 * 查詢某個(gè)欄目下的所有文章,并且分頁。 *  * 如該欄目下有子欄目,則需要一起顯示 *  * @param channelId 欄目id * @param searchParams * @param pageNumber * @param pageSize * @return */ public Page<Content> getContentListPaged(final Integer channelId,final Collection<SearchFilter> filters,int pageNumber, int pageSize){ return contentDao.findAll(new Specification<Content>(){ @Override public Predicate toPredicate(Root<Content> root,                  CriteriaQuery<?> query, CriteriaBuilder builder) { //path轉(zhuǎn)化 List<Predicate> orPredicates = Lists.newArrayList();                                Path<String> idPath = root.get("channel").get("id");                Path<String> parentIdsPath = root.get("channel").get("parentIds");                              Predicate p1 = builder.equal(root.get("channel").get("id"), channelId);             orPredicates.add(builder.or(p1));               Predicate p2 = builder.like((Path)root.get("channel").get("parentIds"), "%," + channelId + ",%");               orPredicates.add(builder.or(p2)); //以下是springside3提供的方法 Predicate o = DynamicSpecifications.bySearchFilter(filters, Content.class).toPredicate(root, query, builder);                            Predicate p = builder.or(orPredicates.toArray(new Predicate[orPredicates.size()]));             query.where(p,o); return null;                         }                   }, new PageRequest(pageNumber - 1, pageSize));  }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容