Я новичок в ORM, и мне нужна помощь, чтобы что-то понять.
Предположим, у меня есть следующий стандартный запрос SQL:
SELECT *, COUNT(test.testId) AS noTests FROM inspection
LEFT JOIN test ON inspection.inspId = test.inspId
GROUP BY inspection.inspId
, который я хочу использовать в JPA.
У меня есть объект Inspection с отношением один-ко-многим к объекту Test. (инспекция имеет много тестов)
Я пытался написать это в JPQL:
Query query = em.createQuery("SELECT insp, COUNT(???what???) " +
"FROM Inspection insp LEFT JOIN insp.testList " +
"GROUP BY insp.inspId");
1) Как мне написать предложение COUNT? Я должен был бы применить count к элементам из тестовой таблицы, но testList - это коллекция, поэтому я не могу сделать что-то вроде COUNT(insp.testList.testId)
2) Предполагая, что 1 решено, какой тип объекта будет возвращен. Это точно не будет объект проверки ... Как мне использовать результат?