Est-il possible d'écrire une requête JPQL comme suit:
select count(*) > 0 from Scenario scen where scen.name = :name
qui renverrait des valeurs booléennes vraies/fausses selon que les critères de remplissage de l'entité existent ou non?
J'aimerais utiliser la requête de cette façon:
boolean exists = entityManager.createQuery(query,Boolean.class).setParameter("name",name).getSingleResult();
La requête de mon exemple n’est tout simplement pas correcte sur le plan syntaxique (erreur d’analyse), mais existe-t-il une méthode correcte pour effectuer des contrôles comme celui-ci en JPQL, qui renverrait une valeur booléenne ou est-ce uniquement possible en code Java?
Oui, c'est possible avec ce qui suit:
select case when (count(scen) > 0) then true else false end
from Scenario scen where scen.name = :name
Qu'en est-il juste:
select count(scen) > 0
from Scenario scen where scen.name = :name
J'avais le même problème, puis j'ai mis mon hibernation à jour en 4.3.11.Final et maintenant ça fonctionne.