I am rather new to JPA 2 and it's CriteriaBuilder / CriteriaQuery API:
CriteriaQuery
in the Java EE 6 tutorial
I would like to count the results of a CriteriaQuery without actually retrieving them. Is that possible, I did not find any such method, the only way would be to do this:
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<MyEntity> cq = cb
.createQuery(MyEntityclass);
// initialize predicates here
return entityManager.createQuery(cq).getResultList().size();
And that can't be the proper way to do it…
Is there a solution?
Best Answer
A query of type
MyEntity
is going to returnMyEntity
. You want a query for aLong
.Obviously you will want to build up your expression with whatever restrictions and groupings etc you skipped in the example.