28 复杂的使用Specification查询
Posted zhaochengf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了28 复杂的使用Specification查询相关的知识,希望对你有一定的参考价值。
/** * Specification的多表查询 */ @Test public void testFind() { Specification<LinkMan> spec = new Specification<LinkMan>() { public Predicate toPredicate(Root<LinkMan> root, CriteriaQuery<?> query, CriteriaBuilder cb) { //Join代表链接查询,通过root对象获取 //创建的过程中,第一个参数为关联对象的属性名称,第二个参数为连接查询的方式(left,inner,right) //JoinType.LEFT : 左外连接,JoinType.INNER:内连接,JoinType.RIGHT:右外连接 Join<LinkMan, Customer> join = root.join("customer",JoinType.INNER); return cb.like(join.get("cName").as(String.class),"张三"); } }; List<LinkMan> list = linkManDao.findAll(spec); for (LinkMan linkMan : list) { System.out.println(linkMan); } }
以上是关于28 复杂的使用Specification查询的主要内容,如果未能解决你的问题,请参考以下文章
Java Specification CriteriaBuilder 复杂查询
使用Spring Boot JPA Specification实现使用JSON数据来查询实体数据
SpringBoot动态查询 Specification使用