是否可以编写JPQL查询,如下所示:
select count(*) > 0 from Scenario scen where scen.name = :name
会根据实体填充条件是否存在返回真/假 bool(boolean) 值?

我想以这种方式使用查询:

boolean exists = entityManager.createQuery(query,Boolean.class).setParameter("name",name).getSingleResult();

我的示例中的查询在语法上不正确(解析错误),但是有没有像JPQL中那样进行检查的正确方法,该方法会返回 bool(boolean) 值,还是只能在Java代码中进行?

最佳答案

是的,可以通过以下方式实现:

select case when (count(scen) > 0)  then true else false end
from Scenario scen where scen.name = :name

10-05 23:09