是否可以编写如下的JPQL查询:
select count(*) > 0 from Scenario scen where scen.name = :name
将返回true / false布尔值,具体取决于实体填充标准是否存在?
我想以这种方式使用查询:
boolean exists = entityManager.createQuery(query,Boolean.class).setParameter("name",name).getSingleResult();
来自我的示例的查询在语法上是不正确的(解析错误),但有没有正确的方法在JPQL中进行检查,这将返回布尔值,还是只能在Java代码中进行?
答案 0 :(得分:45)
是的,可以通过以下方式实现:
select case when (count(scen) > 0) then true else false end
from Scenario scen where scen.name = :name
答案 1 :(得分:12)
仅仅是:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36 OPR/29.0.1795.47
答案 2 :(得分:1)
我遇到了同样的问题,然后我将我的hibernate更新为4.3.11.Final,现在它正在运行。