46

次のように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コードでのみ可能ですか?

4

3 に答える 3

80

Yes, it is possible with following:

select case when (count(scen) > 0)  then true else false end  
from Scenario scen where scen.name = :name
于 2012-08-21T09:55:28.850 に答える
17

ちょうどどうですか:

select count(scen) > 0
from Scenario scen where scen.name = :name
于 2015-05-22T09:23:19.907 に答える
1

同じ問題が発生していたので、休止状態を4.3.11.Finalに更新すると、機能するようになりました。

于 2015-08-27T15:28:08.200 に答える