如何select count(*) in criteria api?

How to select count(*) in criteria api?

我有一个由 hibernate 标准生成的查询 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 ...

目前由于某些原因它运行良好,但我无法通过条件 api 生成此查询。我正在这样创建 Root:

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

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

使用 count(1) 相当于 criteriaBuilder.count(criteriaBuilder.literal(1))