gpt4 book ai didi

sql-server - hibernate JPQL CURRENT_DATE 不适用于 SQL Server

转载 作者:行者123 更新时间:2023-12-04 19:35:12 24 4
gpt4 key购买 nike

我有以下 JPQL 查询:

SELECT x FROM Bla x WHERE x.deadline < CURRENT_DATE

这在 MySQL 上按预期工作。但是 SQL Server 提示 CURRENT_DATE不被认可。

我在问自己到底是什么问题。然后 CURRENT_DATE是一个标准的 JPA 函数,它应该独立于底层 RDBMS 进行解析。

此外,Hibernate 文档还有 CURRENT_DATE记录在案(见这里: http://docs.jboss.org/hibernate/orm/4.1/devguide/en-US/html/ch11.html#ql-expressions)。

我用谷歌搜索并发现很多评论告诉我我将使用 CURRENT_DATE()反而。但这不是 JPQL。

那么为什么是 CURRENT_DATE不工作,解决方案是什么?

我正在使用 Hibernate 4.1.8.Final。

此致,
弗洛里安

最佳答案

您可以尝试将当前日期作为参数传递给查询。此外,这不会有可移植性问题。

session.createQuery("SELECT x FROM TABLE_NAME x WHERE x.deadline < :currentDate")
.setParameter( "currentDate", currentDate)
.list();

否则,您可以尝试使用 current_date() 查询而不是 current_date ,这是 HQL 表达式的一部分。

关于sql-server - hibernate JPQL CURRENT_DATE 不适用于 SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15298426/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com