2011-06-01 6 views

Respuesta

17

Puede utilizar CountDistinct en CriteriaBuilder

criteriaQuery.select(criteriaBuilder.countDistinct(entityRoot)) 
0

Use c.distinct (verdadero) en su consulta.

Consulte http://relation.to/Bloggers/ATypesafeCriteriaQueryAPIForJPA para obtener más ejemplos.

+0

lo agradecería si me pudiera proporcionar un ejemplo de cómo hacerlo en mi caso particular, ya que he utilizado distinto en la API de criterios, pero por alguna razón, este caso de uso no funciona para mí. –

1

como esta?

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")); 
+2

que no es JPA, pero la pregunta es – DataNucleus

+1

¡Uy, se confunde con la etiqueta de hibernación, tx –

Cuestiones relacionadas