estoy tratando de escribir esta consulta usando Hibernate 3 y Oracle 10.¿Cómo uso la fecha actual en una consulta HQL con una base de datos Oracle?
from Alert alert
where alert.expiration > current_date()
order by alert.priority, alert.updated, alert.name
Se trata de crear SQL como esto -
Hibernate: select alert0_.ANNOUNCEMENTS_ID as ANNOUNCE1_1_, alert0_.ANNOUNCEMENT
S_NAME as ANNOUNCE2_1_, alert0_.ANNOUNCEMENTS_PRIORITY as ANNOUNCE3_1_, alert0_.
ANNOUNCEMENTS_EXPIRATION as ANNOUNCE4_1_, alert0_.ANNOUNCEMENTS_UPDATE_DATE as A
NNOUNCE5_1_ from NYC311_ANNOUNCEMENTS alert0_ where (alert0_.ANNOUNCEMENTS_EXPIR
ATION>current_date()) order by alert0_.ANNOUNCEMENTS_PRIORITY , alert0_.ANNOUNC
EMENTS_UPDATE_DATE , alert0_.ANNOUNCEMENTS_NAME
estoy recibiendo todos estos errores extravagantes como "right paréntesis "cuando aparentemente hay un paréntesis perfectamente equilibrado".
¿Por qué Oracle se está volviendo loco con esto? ¿Hay una mejor manera de escribir mi consulta HQL?
Current_date y Current_timestamp son funciones de Oracle. Current_date = Sysdate pero Oracle no necesita() después de una llamada de función. –
CURRENT_DATE(), CURRENT_TIME(), CURRENT_TIMESTAMP() son también Hibernate HQL Functions. ("Java Persistence With Hibernate") –
simplemente pase CURRENT_DATE() en su consulta como por ejemplo: "and date = CURRENT_DATE()"; –