java - 转换查询时的 hibernate.QueryException

标签 java sql hibernate hql

我有一个正在尝试执行的 HQL 查询,但我不断收到 QueryException。

我的查询是

SELECT a FROM (SELECT MAX(m.version) maxVersionOp, m.codoperacion codOp FROM ConsumoMe m WHERE m.codoperacion  IN ('MEL101','MEL102') AND m.horizontetemporal IN('PM') GROUP BY m.codoperacion), ConsumoMe a WHERE codOp = a.codoperacion AND maxVersionOp = a.version AND a.fechaBajaLogica IS NULL

我得到的异常是:

org.hibernate.QueryException: in expected: SELECT [SELECT a FROM (SELECT MAX(m.version) maxVersionOp, m.codoperacion codOp FROM es.enagas.siomprog.entities.ConsumoMe m WHERE m.codoperacion  IN ('MEL101','MEL102') AND m.horizontetemporal IN('PM') GROUP BY m.codoperacion), es.enagas.siomprog.entities.ConsumoMe a WHERE codOp = a.codoperacion AND maxVersionOp = a.version AND a.fechaBajaLogica IS NULL]

如果我剪切内部选择并尝试执行它:

SELECT MAX(m.version) maxVersionOp, m.codoperacion codOp FROM ConsumoMe m WHERE m.horizontetemporal IN('PM') AND (m.codoperacion = 'MEL101' OR m.codoperacion = 'MEL102') GROUP BY m.codoperacion

然后我得到了类似的异常:

org.hibernate.QueryException: , expected in SELECT [SELECT MAX(m.version) maxVersionOp, m.codoperacion codOp FROM es.enagas.siomprog.entities.ConsumoMe m WHERE m.horizontetemporal IN('PM') AND (m.codoperacion = 'MEL101' OR m.codoperacion = 'MEL102') GROUP BY m.codoperacion]

如果我运行 SQL 等效查询,我会得到有效的结果。此外,那些错误消息“,expected in SELECT”并不是很有帮助。 知道可能是什么问题吗?

最佳答案

我在 SQL 中看到多个错误

m.codoperacion codOp --> m.codoperacion 作为 codOp

AND m.horizo​​ntetemporal IN('PM') AND GROUP BY m.codoperacion --> 不应该有 AND

AND m.horizontetemporal IN('PM') GROUP BY m.codoperacion

关于java - 转换查询时的 hibernate.QueryException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17348531/

相关文章:

java - 使用Java错误绘制六边形

java - 找到预绑定(bind)的 JDBC 连接! - 尝试在 JHipster Web 应用程序中配置 Spring Batch 时出错

c# - 从多个表中选择最大日期

sql - 将 sql 转换为 dsl elasticsearch 查询

java - Hibernate:IllegalArgumentException : 在类中: ... 属性的 getter 方法: id

java - 软件包io.tus.java.client不存在

java - 将 Python 请求代码翻译成 Java (UniRest)

sql - 如何使用 regexp_substr 修剪和忽略破折号

java - TX行锁争用: Inserting Duplicate values for Unique Key

java - 非法参数异常 : argument type mismatch in Hibernate