JPQL 创建查询引发解析异常

问题描述

当我使用 createquery 时,以下查询失败

select MAX(kcc.order) From KPIConfiguration kcc join EnumerationValue ev on kcc.level = ev.enumerationValueId join EnumerationValue ev1 on kcc.dataSource = ev1.enumerationValueId where ev1.key = :dataSource

以下例外

异常:“在字符 49 处遇到“join EnumerationValue ev”, 但预期:[".","FETCH","INNER","JOIN","LEFT",]。" 在解析 JPQL 时“select MAX(kcc.order) From KPIConfiguration kcc 在 kcc.level = ev.enumerationValueId 上加入 EnumerationValue ev kcc.dataSource 上的 EnumerationValue ev1 = ev1.enumerationValueId 其中 ev1.key = :dataSource"

但是当我按如下方式使用 createNativeQuery 时,它可以工作。

select MAX(kcc.ORDERS) From KPI_CHECKLIST_CONF kcc join ENUMERATION_VALUE ev on kcc.LEVELS = ev.ENUMERATION_VALUE_ID join ENUMERATION_VALUE ev1 on kcc.DATA_SOURCE = ev1.ENUMERATION_VALUE_ID where ev1.ENUMERATION_KEY = ?1

我无法理解原因。我错过了什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)