【发布时间】:2019-09-02 06:24:38
【问题描述】:
请告诉我如何在 HQL 中请求两个计数的总和,以便 Hibernate 可以解析和执行。 Mysql 接受以下内容,但我想避免使用原生 SQL:
select ( (select count(id) from c_cat_map) + (select count(id) from c_acc_map) ) as c;
但是来自 Hibernate 5.3.9 的 HQL 解析器拒绝了这一点:
org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected end of subtree
这与 2012 年的这篇帖子是同一个问题,但从那时起,hibernate 发生了很大变化,所以请原谅几乎重复的内容:How to select the sum of multiple count() selections in JPQL
与How to write a query in hibernate for count(*) and + (addition) 基本相同,但没有 HQL 答案。
我只是想避免两次往返数据库,想在一次旅行中获得总和。如果没有本机查询,也许这是不可能的?提前致谢。
【问题讨论】: