JPA将CURRENT_DATE定义为函数。当我在JPQL语句中使用CURRENT_DATE时,底层JPA-Provider Hibernate不解析这个只接受current_date()以独立于DBMS。
在我看来,CURRENT_DATE应该在每个JPA-Provider中实现,因为这是JPA中的essentiel函数。我认为这是Hibernate中的一个错误。
示例:
SELECT o FROM Objects o WHERE o.validFrom < CURRENT_DATE
这个语句适用于MySQL作为DBMS,但由于MSSQL没有解析,因为CURRENT_DATE没有被Hibernate解析,而CURRENT_DATE被发送到MSMS将无法理解的DBMS。使用current_date()一切正常,但这不是普通的JPQL。
请给我一些提示,如果这是Hibernate bug或其他任何内容。
答案 0 :(得分:0)
SELECT o FROM Objects o WHERE o.validFrom&lt; ?
并设置一个初始化为当前日期的java.util.Date参数?