Hibernate 如何在标准api中选择计数(*)?

Hibernate 如何在标准api中选择计数(*)?,hibernate,jpa,hibernate-criteria,criteria-api,Hibernate,Jpa,Hibernate Criteria,Criteria Api,我有一个由hibernate criteria api生成的查询,执行该查询需要相当长的时间: select count (entity.id) from table where field1 in ('...') and field2 in ('...') and ... 我已将entity.id替换为“*”: select count (*) from table where field1 in ('...') and field2 in ('...') and ... 由于某些

我有一个由hibernate criteria api生成的查询,执行该查询需要相当长的时间:

select count (entity.id) 
from table 
where field1 in ('...') and field2 in ('...') and ...
我已将entity.id替换为“*”:

select count (*) 
from table 
where field1 in ('...') and field2 in ('...') and ...
由于某些原因,目前它运行得非常好,但我无法通过CriteriaAPI生成此查询。我正在创建如下根:

Root<MyEntity> root cq.from(MyEntity.class);
根目录cq.from(MyEntity.class);

是否有任何方法可以使用select count(*)而不是count(id)生成sql查询?

使用
count(1)
,这是通过执行
criteriaBuilder.count(criteriaBuilder.literal(1))

来回答您的问题的吗?