标签:name 选择 地区查询 重复 重复数据 exe roo tor 编写
目的:根据图书的发布地区查询图书信息编写查询语句
Repository 继承 JpaSpecificationExecutor
重写findAll 并实现 Specification接口的 public Predicate toPredicate(Root<Book> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder)方法
关联其他表需要使用到 Join
Join<Book,BookArea> areaJoin = root.join("bookAreaList",JoinType.LEFT);
ps: bookAreaList 为 book 实体中的 OneToMany 属性
3 根据地区编码查询,可选择多个地区编码,我们需要使用到in 语句处理
In<Object> in = criteriaBuilder.in(areaJoin.get("areaCode"));
areaCode 为 bookarea 实体中的 属性。
多表查询需要过对一下重复数据,使用 group by
query.groupBy(root.get("id")) ;
总结完毕
springboot JPA 一对多关联查询 ,动态复杂查询 去除重复数据 in语句使用
标签:name 选择 地区查询 重复 重复数据 exe roo tor 编写
原文地址:http://blog.51cto.com/13909506/2164402