En JPA 2, à l'aide d'un CriteriaQuery, comment calculer le nombre de résultats

Je suis plutôt nouvelle pour JPA 2 et c'est CriteriaBuilder /CriteriaQuery API:

CriteriaQuery javadoc

CriteriaQuery dans le tutoriel Java EE 6

Je voudrais compter les résultats d'une CriteriaQuery sans réellement à les retrouver. Est-ce possible, je n'ai pas trouvé une telle méthode, le seul moyen serait de faire:

CriteriaBuilder cb = entityManager.getCriteriaBuilder();

CriteriaQuery<MyEntity> cq = cb
        .createQuery(MyEntityclass);

//initialize predicates here

return entityManager.createQuery(cq).getResultList().size();

Et qui ne peut pas être la bonne façon de le faire...

Est-il une solution?

  • Il serait très utile si quelqu'un peut aider ou de les inclure dans les réponses ci-dessous. Comment atteindre suivantes compter de la requête en utilisant JPA critères de l'API? select count(distinct col1, col2, col3) from ma_table;