Saltar al contenido

¿Cómo contar el número de filas usando JPA?

Posteriormente a consultar con especialistas en esta materia, programadores de varias ramas y maestros hemos dado con la respuesta a la pregunta y la compartimos en este post.

Solución:

La mejor y más sencilla forma en jpa:

public interface YourEntityRepository extends JpaRepository 

Long countByAgeGreaterThan(Integer age);


Usar ParameterExpression. Nota: no probado.

CriteriaBuilder qb = entityManager.getCriteriaBuilder();
CriteriaQuery cq = qb.createQuery(Long.class);
cq.select(qb.count(cq.from(MyEntity.class)));
ParameterExpression p = qb.parameter(Integer.class);
q.where(qb.eq(c.get("age"), 45));
return entityManager.createQuery(cq).getSingleResult();

Referencia.

EntityManagerFactory emf =
                    Persistence.createEntityManagerFactory("your table name");
            EntityManager em = emf.createEntityManager();


            // JPA Query Language is executed on your entities (Java Classess), not on your database tables;

            Query query = em.createQuery("SELECT count(*) FROM your Classname WHERE ... etc");
            long count = (long) query.getSingleResult();

Comentarios y calificaciones

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *