I wrote the following code to get the count of "ExampleEntity":
cb = entityManager.getCriteriaBuilder();
CriteriaQuery<Long> cq = cb.createQuery(Long.class);
root = cq.from(ExampleEntity);
cq.select(cb.count(root));
return entityManager.createQuery(cq).getSingleResult();
Generated sql: Hibernate: select count(exampleen0_.id) as col_0_0_ from EXAMPLEENTITY exampleen0_
But, for performance reasons (using a Oracle 11g database),I need to generate the following sql:
Desired sql: select count(*) as col_0_0_ from EXAMPLEENTITY exampleen0_
It's quite simple to do creating JPQL queries, but I would have to rewrite a lot of existing code for filters.
How can I generate "count(*)" instead of "count(exampleen0_.id)" using CriteriaQuery?