java - @Query 连接两个表
问题描述
我正在尝试使用 @Query 方法将两个实体加入第三个实体。
@Query("SELECT new com.concretepage.entity.DeptEmpDto(d.departmentId,d.departmentName,d.managerId,d.locationId,e.employeeId,e.firstName,e.lastName,e.phoneNumber,e.hireDate,e.jobId,e.salary,e.commissionPct) FROM Employee e INNER JOIN Department d")
List <DeptEmpDto> fetchEmpDeptDataInnerJoin();
您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以获取在第 1 行的 '' 附近使用的正确语法。
我不明白我的错误在哪里。任何帮助将不胜感激:)。
解决方案
ON
使用子句连接表后,您错过了连接条件。因此,只需使用以下命令更改您的查询:
@Query("SELECT new com.concretepage.entity.DeptEmpDto(d.departmentId,d.departmentName,d.managerId,d.locationId,e.employeeId,e.firstName,e.lastName,e.phoneNumber,e.hireDate,e.jobId,e.salary,e.commissionPct) FROM Employee e INNER JOIN Department d on e.joining_column_from_table1=d.joining_column_from_table2")
确保 分别用表中的列名 替换
joining_column_from_table1
和joining_column_from_table2
Employee
Department
推荐阅读
- javascript - 如何在移动浏览器中动态更改网站的默认视口设置?
- javascript - 如何修复滚动时导航栏更改类?
- node.js - 如何使用 babel 让 ESModules 在 node.js(导入/导出)中工作
- python - 迭代目录中的文件并根据其他文件从中删除行
- android - 如何根据 IP 地址限制 Play 商店的发布 API?
- prolog - 有没有更有效的方法在 swi-prolog 中实现这两个功能?
- java - 是否可以捕获 java.lang.reflect.GenericSignatureFormatError?
- sql - SQL 查询通过比较两个差异条件的同一列来生成报告
- javascript - TypeError: ShallowWrapper::renderProp() 只能在自定义组件上调用
- android - 如何在 android SDK 模拟器 (API > 25) 中更改 /system/framework 文件?