CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Task> cq = cb.createQuery(Task.class);
Root<Task> root = cq.from(Task.class);
Join<Task, Attachment> atts = root.join("attachments", JoinType.LEFT);
ParameterExpression locNameKey = cb.parameter(String.class, "ttlocname");
Expression taskTypeLocName = cb.function("json_extract_path_text", String.class, root.get("taskType").get("locName"), locNameKey);
taskTypeLocName.alias("ttlocname");
cq.select(cb.construct(
Task.class,
root.get("id"),
taskTypeLocName,
cb.count(atts)));
cq.groupBy(root, root.get("taskType").get("name"), taskTypeLocName);
TypedQuery<Task> query = em.createQuery(cq);
query.setParameter("ttlocname", "RU");
В select не применяет alias к функции json_extract_path_text. В group by использует json_extract_path_text(t1.loc_name, ?)
Что сделать что бы применялся alias в select "json_extract_path_text(t1.loc_name, ?) ttlocname " и в group by использовался ttlocname ?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Не работает подключение БД с сервлетомПомогите понять в чем проблема
ArrayList состоит из объектов, каждый из которых имеет температуру и времяНеобходимо найти максимальное значение температуры за каждый день