首先,很抱歉,是否已经提出了这个问题,但是在搜索时找不到任何东西。

我是Hibernate的新手,不确定是否可以做到,但是我正在尝试将以下查询从SQL转换为Hibernate:

Select count(*) from (
  Select count(*)
  from table
  where field1 in (...)
  Group by field1, field2);


现在,我知道可以获取第二个查询的列表并检查其大小,但是我想使用uniqueResult()方法,因为它效率更高。

有关如何执行此操作的任何想法?
提前致谢!

编辑1:对不起,我忘了提及我正在尝试使用HQL进行此操作。

最佳答案

from子句中休眠does not support子查询。您可以通过重写查询以计算@sagi在注释中已经建议的field1field2的不同串联来解决此问题,或者,如果发现串联成本太高,则改为:

select count(*) from table
where id in
  (select max(id) from table
   where field1 in (...)
   group by field1, field2);

关于java - 另一个计数(*)内的计数(*),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35536097/

10-13 02:36