spring-data-jpa Specification 拼接复杂查询
来源:互联网 发布:电脑文件恢复软件 编辑:程序博客网 时间:2024/05/18 16:16
public Page<ServiceItem> findAll(Map<String, String[]> params, ServiceItemConsumeStatus serviceItemConsumeStatus,ServiceItemStatus serviceItemStatus, Pageable pageable) { return dao.findAll(spec(serviceItemConsumeStatus, serviceItemStatus, params), pageable); } private Specification<ServiceItem> spec(final ServiceItemConsumeStatus serviceItemConsumeStatus, final ServiceItemStatus serviceItemStatus, Map<String, String[]> params) { Collection<SearchFilter> filters = SearchFilter.parse(params).values(); final Specification<ServiceItem> fsp = SearchFilter.spec(filters, ServiceItem.class); Specification<ServiceItem> sp = new Specification<ServiceItem>() { public Predicate toPredicate(Root<ServiceItem> root, CriteriaQuery<?> query, CriteriaBuilder cb) { Predicate pred = fsp.toPredicate(root, query, cb); if (ServiceItemConsumeStatus.可消费.equals(serviceItemConsumeStatus)) { pred = cb.and(pred, cb.gt(root.get("countLeft").as(int.class), 0)); } else if (ServiceItemConsumeStatus.消费完毕.equals(serviceItemConsumeStatus)) { pred = cb.and(pred, cb.le(root.get("countLeft").as(int.class), 0)); } if (serviceItemStatus != null) { pred = cb.and(pred, cb.equal(root.get("status"), serviceItemStatus)); } return pred; } }; return sp; }
0 0
- spring-data-jpa Specification 拼接复杂查询
- Spring Data JPA Specification查询
- spring data jpa 复杂的查询
- Spring data JPA使用Specification实现动态查询例子
- 3 Spring JPA Specification 查询
- Spring Data JPA 复杂/多条件组合查询
- Spring Data JPA 复杂/多条件组合查询
- Spring Data JPA 复杂/多条件组合查询
- spring data jpa 利用JpaSpecificationExecutor做复杂查询
- spring data jpa 利用JpaSpecificationExecutor做复杂查询
- 通过spring-data-jpa进行复杂对象查询
- spring data jpa 1.9/1.10 复杂sql分页查询
- spring data jpa Specification的使用
- spring data jpa specification的封装
- Spring Data JPA 查询
- Spring Data Jpa 查询
- SpringBoot第五讲扩展和封装Spring Data JPA(二)_利用Specification封装简单查询
- Spring JPA 复杂条件查询
- 【bzoj1877】【SDOI2009】【晨跑】【费用流】
- Java使用SOAP获取webservice实例解析
- Viewpager的PageTransformer 不执行问题
- ORA-01861: 文字与格式字符串不匹配
- 定时器
- spring-data-jpa Specification 拼接复杂查询
- JNI学习积累之二 ---- 数据类型映射、域描述符说明
- 企业Linux系统管理员常用命令大全实例解析(2)
- caffe Data layer prefetch queue empty重启
- 71道经典Android面试题和答案,重要知识点都包含了
- vector 详细用法 C++
- PHP PSR-2 代码风格规范 (中文版)
- hdoj1240 Asteroids!
- C#面试题