java - 命名查询中的 HQL 错误

标签 java hibernate hql

我收到 Hibernate 的消息,指出“命名查询中出现错误”。

下面是我尝试执行的 HQL 语句。

select sum(subtotal)
from (
      select sum(coalesce(sum(t2.amount), 0) - coalesce(sum(t3.amount), 0)) subtotal
      from submission t1
      left join t1.bills t2
      left join t1.payments t3
      where t1.id = 10
      group by t1.id

      union

      select sum(coalesce(sum(t2.amount), 0) - coalesce(sum(t3.amount), 0)) subtotal
      from submission t1
      left join t1.otherBills t2
      left join t1.payments t3
      where t1.id = 10
      group by t1.id
) a1

我认为问题可能与外部查询中的 sum 函数或 union 运算符有关,但我无法缩小范围。

有人有什么想法吗?

最佳答案

您不能在 HQL 中的 From 子句之后使用子查询。我的建议是您可以使用原生查询。有关更多详细信息,您应该查看以下链接:- Hibernate Query Limitation

关于java - 命名查询中的 HQL 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31186854/

相关文章:

java - Hibernate 和非 Hibernate 表之间的查询

java - Hibernate 查询持续时间很长

java - 使 Gson 使用枚举字符串值而不是常量名称

java - 在Java中检测USB驱动器

spring - Hibernate在不同的事务中初始化对象

java - hibernate 中的 CRUD 给出表未映射异常

sql-server - Hibernate + MSSQL + 通过 Contains 进行全文搜索

由于每个类的服务器单独启动,Java 集成测试运行缓慢

java - Google FooBar意外评估失败

java - org.hibernate.HibernateException : Not able to obtain connection