如何在 Spring Boot 中使用 @Query 注解引用 JPQL 中的外键变量?

问题描述 投票:0回答:1

这是我的存储库界面中的查询。

@Query("SELECT new com.wellsfargo.loanManagementSystem.model.LoanCardAndEmpCardProjection"
        + "(l.loanId,l.loanType,l.durationInYears," 
        + "e.cardIssueDate)"
        + "FROM LoanCardMaster l JOIN l.loanEmpCardDetails e where e.employeeId = :employeeId")

这就是我在下面引用employeeId 的方式。

List<LoanCardAndEmpCardProjection> findSelectedFieldsFromLoanAndEmpCards(@Param("employeeId") String employeeId);

EmployeeId 是 LoanEmpCardDetails 来源的外键(EmployeeCardDetails 表)。我在查询或下面的函数中是否错误地引用了 emploeeId,因为当我在 WorkBench 中将其作为查询执行时,我得到了正确的结果。

选择 l1_0.loan_id、l1_0.loan_type、l1_0.duration_in_years、l2_0.card_issue_date 从loan_card_master l1_0加入employee_card_details l2_0 l1_0.loan_id=l2_0.loan_id_loan_id 其中 l2_0.employee_id_employee_id=1;

如有任何帮助,我们将不胜感激。

sql spring-boot spring-mvc spring-data-jpa jpql
1个回答
0
投票

看起来id是Long类型,所以尝试改变这个

List<LoanCardAndEmpCardProjection> findSelectedFieldsFromLoanAndEmpCards(@Param("employeeId") Long employeeId);
© www.soinside.com 2019 - 2024. All rights reserved.