Cómo hacer un recuento diferente en JPA criteros de la API?

Me gustaría hacer esto, pero con la API de criterios lugar:

select count(distinct e) from Event e, IN(e.userAccessPermissions) p where p.principal = :principal and p.permission in (:permissions)

Alguna idea?

OriginalEl autor Piotr | 2011-06-01

3 Kommentare

  1. 21

    Puede utilizar countDistinct en CriteriaBuilder

    criteriaQuery.select(criteriaBuilder.countDistinct(entityRoot))

    OriginalEl autor Jakub Kahovec

  2. 1

    Como este?

    Criteria crit = session.createCriteria(Event.class):
    crit.createAlias("userAccessPermissions", "p");
    crit.add(Restrictions.eq("p.principal", principal);
    crit.add(Restrictions.in("p.permission", permissions);
    crit.setProjection(Projections.countDistinct("id"));
    que no JPA, pero la pregunta es
    uy, consigue inducir a error por la hibernación de la etiqueta, tx

    OriginalEl autor Stijn Geukens

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea