首页 > 代码库 > spring JPA 动态查询
spring JPA 动态查询
没什么好说的,记住就行。
下面是在Service中的方法
Page<TStaff> staffs=dao.findAll(new Specification<TStaff>() { @Override public Predicate toPredicate(Root<TStaff> root, CriteriaQuery<?> query, CriteriaBuilder cb) { Predicate predicate = cb.conjunction(); List<Expression<Boolean>> expressions = predicate.getExpressions(); if(StringUtils.isNotEmpty(loginName)){ expressions.add(cb.equal(root.<String>get("loginName"), loginName)); } if(StringUtils.isNotEmpty(email)){ expressions.add(cb.equal(root.get("email").as(String.class), email)); } if(StringUtils.isNotEmpty(groupDn)){ expressions.add(cb.like(root.<String>get("groupDn"), "%"+groupDn)); } return predicate; } }, new PageRequest(page.getCurPage(), page.getPageSize()));
dao定义如下:
public interface StaffDao extends Repository<TStaff, String>,JpaSpecificationExecutor<TStaff>
spring JPA 动态查询
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。