首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在中查询选择内部连接多个表时如何获取数据

问在中查询选择内部连接多个表时如何获取数据
EN

Stack Overflow用户
提问于 2021-10-28 09:31:14
回答 1查看 942关注 0票数 1

这是我的项目。我有问题,我想从表格中获得数据学生加入许多表分支,房间和性别使用注释@Query站点查询在图像MySql中

这是带有语句MySql的查询

这是我想在中使用@Query的代码,目的是在连接多个表时获得数据

调用API后,它会通知错误这是错误。

我需要支持,这是我的项目:https://github.com/daovantam0410/quan-ly-dao-tao

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-28 10:16:45

这里有两个选项,您可以使用从数据库获取学生。

代码语言:javascript
复制
List<Student> students = studentRepository.findAll();

这将通过发出其他查询来加载其他实体(空间、性别和分支),这将导致著名的问题N+1 queries。

因此,要一次性加载所有实体,请使用entity graphs或fetch join

代码语言:javascript
复制
@Query(value = "SELECT st FROM Student st INNER JOIN FETCH st.branch b INNER JOIN FETCH st.gender g INNER JOIN FETCH st.room r")
List<Student> fetchStudentDataJoinTable();

备注:如果学生中的属性(room、gender和branch)可以是null,那么使用left join而不是inner join。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69751580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档