select - left - Instrucción JPQL que devuelve valor booleano
jpql left join (3)
¿Es posible escribir una consulta JPQL de la siguiente manera:
select count(*) > 0 from Scenario scen where scen.name = :name
que devolvería valores booleanos verdaderos / falsos dependiendo de si los criterios de relleno de entidades existen o no?
Me gustaría utilizar la consulta de esta manera:
boolean exists = entityManager.createQuery(query,Boolean.class).setParameter("name",name).getSingleResult();
La consulta de mi ejemplo simplemente no es sintácticamente correcta (error de análisis), pero ¿hay alguna manera correcta de hacer comprobaciones como esa en JPQL, que devolvería el valor booleano, o solo es posible en el código Java?
¿Qué tal solo?
select count(scen) > 0
from Scenario scen where scen.name = :name
Estaba teniendo el mismo problema, luego actualicé mi hibernación a 4.3.11.Final y ahora está funcionando.
Sí, es posible con los siguientes:
select case when (count(scen) > 0) then true else false end
from Scenario scen where scen.name = :name