Ответ 1
Да, возможно со следующими:
select case when (count(scen) > 0) then true else false end
from Scenario scen where scen.name = :name
Можно ли написать JPQL-запрос, например:
select count(*) > 0 from Scenario scen where scen.name = :name
который вернет истинные/ложные логические значения в зависимости от того, существует ли критерий заполнения объекта или нет?
Я хотел бы использовать запрос таким образом:
boolean exists = entityManager.createQuery(query,Boolean.class).setParameter("name",name).getSingleResult();
Запрос из моего примера просто не является синтаксически корректным (ошибка синтаксического анализа), но есть ли какой-либо правильный способ делать такие проверки в JPQL, которые возвращают логическое значение или это возможно только в Java-коде?
Да, возможно со следующими:
select case when (count(scen) > 0) then true else false end
from Scenario scen where scen.name = :name
Как насчет:
select count(scen) > 0
from Scenario scen where scen.name = :name
У меня была такая же проблема, затем я обновил свой спящий режим до 4.3.11.Final и теперь он работает.