两种情况

利用root.join()实现表关联

  • 利用join方法实现表关联查询的是时候是依赖于主表对应的实体中存在需要关联的表的实体。

  • 这两者的关系可以是1:1 1:n n:1 n:m

  • 相应的实体中需要使用到@OneToMany@ManyToMany@ManyToOne@OneToOne 注释相应的字段。该注解可单独出现在一个实体中,互相关联的实体没有该注解的约束(例如:一个中用例1:n 的注解另一个并不一定需要增加对应的对象同时也就没有n:1注解的事情了)

  • 通过join可以设置左相联还是右相联还是内相联。

  • 后面就可直接通过root.get(attributeName).get(property)来进行条件的拼接了

直接通过criteriaQuery 来获取其他实体的root

  • 通过这种做法默认是进行cross join 交叉连接,同时无法设置目标表的属性条件,因为源表中没有相应的字段映射。

相关注解理解

@JoinColumn中的name和referencedColumnName 属性不同的关系下所指的哪个实体中的属性也不同,需要分却源表和目标表。原表即是主表,目标表也就是嵌入式的连接表。

jpa的多表关联查询相关推荐

  1. 解决Springboot+JPA中多表关联查询会查询多次的问题(n+1查询问题)

    解决Springboot+JPA中多表关联查询会查询多次的问题(n+1查询问题) 参考文章: (1)解决Springboot+JPA中多表关联查询会查询多次的问题(n+1查询问题) (2)https: ...

  2. Spring Data JPA 实现多表关联查询

    原文链接:https://blog.csdn.net/johnf_nash/article/details/80587204 多表查询在spring data jpa中有两种实现方式,第一种是利用hi ...

  3. 【SpringBoot Data JPA】多表关联查询

    SpringBoot Data JPA 多表关联查询 前言 一.数据库架构设计 1.1 数据表结构 2.2 建立数据库表: 二.SpringBoot整合JPA多表查询 2.1 环境配置 2.2 建立数 ...

  4. Spring Data JPA Specification多表关联查询

    需求:有一个流量计的设备,流量计有一个所属罐区id,想要通过所属罐区查到所关联的这个罐区的编码以及名称. 1.流量计实体类: 主要是给流量计实体添加了以下属性,通过tank_area_id关联: pa ...

  5. jpa多表关联查询_JPA【关联查询篇】

    摘要:本文主要介绍JPA的多表关联查询(一对一.一对多.双向关联.多对一.多对多)以及N+1查询的优化. 1. JPA多表关联查询 多表关联查询就是实现使用一个实体类对象操作或者查询多个表的数据. 配 ...

  6. Spring Data JPA 多表关联查询的实现

    Spring Data JPA 多表关联查询的实现 多表查询在spring data jpa中有两种实现方式,第一种是利用hibernate的级联查询来实现,第二种是创建一个结果集的接口来接收连表查询 ...

  7. jpa 去重_spring boot jpa 表关联查询分组 group by 去重

    使用jpa操作多张表进行关联查询时,有重复数据需要分组去重 1)确定主表:将有重复数据的表格作为主表,表明关系 public class AttendanceRuleTypeItem implemen ...

  8. JPA多表关联查询,自定义实体类接收返回的结果集

    在项目中使用jpa进行多表连接查询,基本上返回的都是多张表中的数据.那么问题来了,这关联返回的数据那么多,还是不同表当中的数据,数据库中也没有表和它对应啊,怎么处理呢?返回Object吗 1.教师类 ...

  9. jpa多表关联查询_Spring Boot 整合mybatis如何自定义 mapper 实现多表关联查询

    上一篇文章已经介绍了自定义 mapper 实现自定义的方法,其实实现了通过自定义的mapper就可以做多表关联等复杂查询.但是很多朋友还是反馈说没有实现多表关联查询,所以,今天把文章又重新修改了,增加 ...

最新文章

  1. 今年1篇Science,2篇NBT,2篇MP,1篇PNAS等11篇文章,遗传发育所白洋组在植物微生物组取得系列进展!
  2. 【洛谷 1991】 无线通讯网
  3. OpenCvSharp手绘ROI区域+模板匹配+霍夫变换检测圆的边界
  4. 统计操作系统的整个系统负载占用CPU的情况
  5. 文本分类和序列标注“深度”实践
  6. python/正则 从字符串中提取数字
  7. python遇到的问题
  8. 农业知识图谱(KG):农业领域的信息检索,命名实体识别,关系抽取,分类树构建,数据挖掘...
  9. 下面以Button组件为例,开始FLEX皮肤制作的入门。
  10. 内存少导致编译出错,内存增加到24G
  11. 河南最新建筑施工八大员之(安全员)考试真题及答案解析
  12. 网络嗅探器(影音神探) v4.63 绿色正式版http://down.hotlife.cn/html/download/2006/6/05/1149478572.shtml
  13. 布尔逻辑代数化简公式
  14. 深度学习环境搭建:linux下 Ubuntu16.04+cuda8.0+cudnn+anaconda+tensorflow并配置远程访问jupyter notebook
  15. 7号团队-团队任务5:项目总结会
  16. 《制造杀人犯/Making A Murder》中的疑点和感想
  17. 苹果系统怎样修改mac地址?
  18. 工作日计算问题思路和实现
  19. 复旦提出ObjectFormer,收录CVPR 2022!图像篡改检测新工作!
  20. IIC总线协议基本原理以及GPIO虚拟IIC接口

热门文章

  1. sprintf 函数详解
  2. [java] easyexcel实现表格数据填充
  3. Python OpenCV 之图像金字塔,高斯金字塔与拉普拉斯金字塔
  4. 电脑系统重装后触控板用不了了(消失了)
  5. 十六进制转换十进制非负整数
  6. etlgr是什么服务器_什么是数据ETL
  7. Reward Machines for Cooperative Multi-Agent Reinforcement Learning论文阅读
  8. C语言入门项目——扫雷游戏(ege图形库+codeblocks)
  9. 简单的jsp权限管理
  10. 10个快速优化Web性能的手段