Hay alguna forma de hacer lo siguiente en HQL:
SELECT
case when flag = true then SUM(col1) else SUM(col2)
FROM
myTable
sí, el caso es que trabajan en HQL ahora (estoy usando 3.5.5) stackoverflow.com/questions/3778583/…
OriginalEl autor lomaxx | 2009-01-19
Supongo que se puede (3.6, 4.3) [en línea editar] …para donde-cláusulas:
Ah, que nos fijamos en eso. Lo siento por la lectura descuidada
no hay problemas.. gracias por contribuir en cualquier caso
OriginalEl autor Henrik Paul
Al parecer, la capacidad de hacer esto fue añadido en 3.0.4, con la limitación de que no puede usar sub-selecciona en la cláusula else.
OriginalEl autor Hilton Campbell
Ver Hibernate-Foro: https://forum.hibernate.org/viewtopic.php?t=942197
Respuesta del Equipo (Gavin):
el caso es compatible con la cláusula where, pero no en la cláusula select en HB3.
Y visto en JIRA con el Estado de «sin resolver».
OriginalEl autor Stephan Prantl
Por debajo usted puede encontrar un trabajo de consulta (hibernate en postgresql) que utiliza 2 caso de declaraciones para reemplazar un valor booleano con la correspondiente representación textual.
OriginalEl autor Ruben
Podemos usar el modo de hibernación consulta HQL mucho y creo que, finalmente, hay un hackish manera de hacer una cosa :
Suponiendo que originalmente tenía una consulta de
i2.element.id = :someId
Entonces decidió expandir esto a ser algo como esto:
((i.element.id = :someId and i2.element.id=:someId) or (i2.element.id = :someId))
Pero hubo un problema por el que queremos que sólo la búsqueda para esto basado en classType para un caso de declaración:
De arriba no funciona, usted podría hacer una versión fácil de arriba de trabajo por hacer:
Pero esto en realidad no hace lo que nosotros necesitamos, queremos hacer exacta de la consulta anterior, así que sabiendo que usted puede asignar una variable al final de una declaración de caso en donde hay no poco de HQL:
He podido hacer la consulta ahora trabajo basado en la declaración de caso, seguro que es mucho más largo aliento, pero en realidad hace lo mismo que la primera instancia
OriginalEl autor Vahid
Yo que enfrentan el mismo problema en HQL, a continuación, he resuelto de la siguiente consulta es
OriginalEl autor Faiz Akram
Este es un ejemplo del uso de una comparación de cadenas en la condición:
OriginalEl autor