Как мы можем написать ниже запрос, используя Спецификацию
SELECT e.id, e.name, count(e.id)
FROM Employee e INNER JOIN Department d
WHERE e.id = d.empId;
Когда мы используем Спецификацию, она не выбирает count (), даже если она упоминается в множественном выборе.
Любая идея, каквключить столбец count в Спецификацию, когда мы используем метод JPA findAll .
Пробовал с множественным выбором, но когда он передан в спецификацию, он запрашивает только неагрегированные столбцы.
Expression<Long> countExp = cb.count(root.get("id"));
CriteriaQuery<Employee> select =
criteriaQuery.multiselect(root.get("id"), root.get("name"), countExp);
Но он генерирует запрос как:
SELECT e.id, e.name
FROM Employee e INNER JOIN Department d
WHERE e.id = d.empId;
Кажется, что имеет ту же проблему, что и: JpaSpecificationExecutor: сложные запросы со спецификациями
Почему мультиселектметод в JPA не работает