首先,很抱歉,是否已经提出了这个问题,但是在搜索时找不到任何东西。
我是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在注释中已经建议的field1
和field2
的不同串联来解决此问题,或者,如果发现串联成本太高,则改为:
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/