spring data jpa 的 in 查询 Specification 实现
生活随笔
收集整理的這篇文章主要介紹了
spring data jpa 的 in 查询 Specification 实现
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到教程。
只是一個(gè)簡(jiǎn)單需求: ?查詢所有部門id 屬于 ?idList 的數(shù)據(jù)
Page<WorkWeight> page = workWeightRepository.findAll(new Specification<WorkWeight>() {@Overridepublic Predicate toPredicate(Root<WorkWeight> root, CriteriaQuery<?> query, CriteriaBuilder cb) {List<Predicate> list = new ArrayList<>();if(null != subDepartmentId && !"".equals("subDepartmentId")){list.add(cb.equal(root.<String>get("subDepartmentId"), subDepartmentId));}if(null != status && !"".equals("status")){list.add(cb.equal(root.<String>get("status"), status));}if (null != startTime && !"".equals("startTime")) {list.add(cb.greaterThanOrEqualTo(root.<Date>get("startTime"), DateUtil.stringToDate(startTime)));}if (null != endTime && !"".equals("endTime")) {list.add(cb.lessThanOrEqualTo(root.<Date>get("endTime"), DateUtil.stringToDate(endTime)));}Expression<String> exp = root.<String>get("departmentId");list.add(exp.in(idList)); // 往in中添加所有id 實(shí)現(xiàn)in 查詢if (list.size() != 0) {Predicate[] p = new Predicate[list.size()];return cb.and(list.toArray(p));} else {return null;}}}, new PageRequest(pageable.getPageNumber(), pageable.getPageSize(), pageable.getSort()));重點(diǎn)代碼:
?
?
Expression<String> exp = root.<String>get("departmentId");list.add(exp.in(idList)); // idList是部門id集合, 實(shí)現(xiàn)in 查詢?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的spring data jpa 的 in 查询 Specification 实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 红旗桌面版本最新运用要领和结果解答100
- 下一篇: JNA—JNI终结者