ブール値を返すJPQLステートメント 質問する

ブール値を返すJPQLステートメント 質問する

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

ベストアンサー1

はい、次の方法で可能です:

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

おすすめ記事