Получить количество значений Enum в JQL
Есть ли способ, которым JQL может получить значения в соответствии со значениями Enum? Например, Enum имеет значения "Единственный", "Женат", "Разведен" и т. Д. И получает количество сущностей Persons в одном запросе языка персистентности Java?
1 ответ
Решение
Есть два способа, либо использовать группирование по, либо суб-выборки в предложении Select,
Select Count(p), p.status from Person p group by p.status
или же,
Select (Select Count(p) from Person p where p.status = Status.Single), (Select Count(p) from Person p where p.status = Status.Married), (Select Count(p) from Person p where p.status = Status.Divorced)
но подвыборы в предложении Select не поддерживаются JPA (по крайней мере, JPA 2.0, 2.1, я полагаю), EclipseLink 2.4 или выше поддерживает это.