由于公司项目第一次接触到 spring-data-jap 框架约定的实现方式
检索实现方式
后来发现这种实现方式的问题 后端接到参数以后无法直接处理
后期提出两种方案来实现修改数据
1,在过滤器中拦截 修改参数
2,用aop 实现修改
菁实验两种方式都无法实现修改,
由于我本人是个一年的小菜鸟 改问题需要时间比较久
后来查看源码发现数据封装 结构 经百度 找到一种解决方式 经实验也可用而且灵活性及交高
这个也是spring -data -jpa 提供的方式
Page<CPregPrepoView> result = cPregPrepoViewService.findAllCPregPrepoView(new Specification<CPregPrepoView>() {
@Override
public Predicate toPredicate(Root<CPregPrepoView> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
List<Predicate> predicates = new ArrayList<Predicate>();
root = query.from(CPregPrepoView.class);
//Path<String> nameExp = root.get("name");
List<String> arr = new ArrayList<String>();
arr.add("1230");
arr.add("789");
predicates.add(cb.like(root.<String>get("prjname"),"%江苏%"));
predicates.add(cb.like(root.<String>get("prjname"),"%无锡%"));
predicates.add(root.<String>get("maruserid").in(arr));
return cb.and(predicates.toArray(new Predicate[predicates.size()]));
}
}, pageable);
到这里问题解决了 这边公司原来使用的是
我觉得也是蛮好用的 实现一些简单的检索 还是很不错的 能节省很多代码