spring data jpa 的 in 查询 Specification 实现
生活随笔
收集整理的這篇文章主要介紹了
spring data jpa 的 in 查询 Specification 实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。
只是一個簡單需求: ?查詢所有部門id 屬于 ?idList 的數據
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 實現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()));重點代碼:
?
?
Expression<String> exp = root.<String>get("departmentId");list.add(exp.in(idList)); // idList是部門id集合, 實現in 查詢?
?
?
?
?
總結
以上是生活随笔為你收集整理的spring data jpa 的 in 查询 Specification 实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 红旗桌面版本最新运用要领和结果解答100
- 下一篇: PHP易混淆函数的区分方法及意义