query left create select jpa jpa-2.0 jpql

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