springboot JPA 一对多关联查询 ,动态复杂查询 去除重复数据 in语句使用

2021-07-15 19:05

阅读:645

  1. 编写查询语句
    Repository 继承 JpaSpecificationExecutor
    重写findAll 并实现 Specification接口的 public Predicate toPredicate(Root root, CriteriaQuery> query, CriteriaBuilder criteriaBuilder)方法
    关联其他表需要使用到 Join
    Join areaJoin = root.join("bookAreaList",JoinType.LEFT);
    ps: bookAreaList 为 book 实体中的 OneToMany 属性

    3 根据地区编码查询,可选择多个地区编码,我们需要使用到in 语句处理
    In in = criteriaBuilder.in(areaJoin.get("areaCode"));
    areaCode 为 bookarea 实体中的 属性。

  2. 多表查询需要过对一下重复数据,使用 group by
    query.groupBy(root.get("id")) ;

    总结完毕


评论


亲,登录后才可以留言!