@查询联接两个表

时间:2019-06-17 10:13:23

标签: java spring jpa spring-data-jpa jpql

我正在尝试使用@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行的''附近使用的正确语法。

我不明白我的错误在哪里,任何帮助将不胜感激:)。

1 个答案:

答案 0 :(得分:0)

使用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,其中包含表格中的列名   分别EmployeeDepartment