Contador Spring JPA donde agrupar por.
Quiero transformar una consulta SQL en JPA.
SELECT status, count(*)
FROM abc
WHERE type=’XXX’
GROUP BY status
Necesito algo en un JPARepository con SQL.
@Repository
public interface ABCRepository extends JpaRepository<abc, long=””> {
long countByStatusAndType(final A type, final B status);
}
¿Es posible?</abc,>
davy.ai
No, es posible transformar directamente la consulta SQL dada en un método de JPARepository con SQL. JPARepository utiliza JPQL (Java Persistence Query Language) para consultar la base de datos.
Sin embargo, podemos lograr un resultado equivalente creando una consulta JPQL en la anotación
@Query
dentro de la interfaz JPARepository. Aquí hay un ejemplo:En este ejemplo, utilizamos la sintaxis JPQL en la anotación
@Query
para realizar la consulta equivalente a la declaración SQL dada. También agregamos un parámetrotype
para minimizar el riesgo de inyección SQL.El resultado es una
List<object[]>
que contiene los valores destatus
ycount
agrupados porstatus
.</object[]></object[]></abc,>