Soy nuevo en materia de ORM y necesito ayuda para entender algo.JPA y funciones agregadas. ¿Cómo uso el resultado de la consulta?
Supongamos que tengo la siguiente consulta SQL estándar:
SELECT *, COUNT(test.testId) AS noTests FROM inspection
LEFT JOIN test ON inspection.inspId = test.inspId
GROUP BY inspection.inspId
que quiero utilizar en APP.
Tengo una entidad de inspección con una relación uno a muchos con una entidad de prueba. (Una inspección tiene muchas pruebas) intenté escribir esto en JPQL:
Query query = em.createQuery("SELECT insp, COUNT(???what???) " +
"FROM Inspection insp LEFT JOIN insp.testList " +
"GROUP BY insp.inspId");
1) ¿Cómo se escribe la cláusula CUENTA? Tendría que aplicar recuento a los elementos de la tabla de prueba pero testList es una colección, así que no puedo hacer algo como COUNT(insp.testList.testId)
2) Suponiendo que se resuelva 1, qué tipo de objeto será devuelto. Definitivamente no será un objeto de inspección ... ¿Cómo uso el resultado?
Muchas gracias. ¡Funciona! – Bogdan