Hibernate HQL 和日期

发布于 2024-08-12 20:44:23 字数 191 浏览 8 评论 0原文

我有一个 MySQL 表,其中一列类型为日期。在我的休眠映射文件中,我已将此列映射到类型 java.util.Date。现在,在 HQL 中,当尝试基于日期相等检索对象时,如果我使用 new Date() 设置日期,则不会得到任何结果。如果我通过将小时、分钟和秒设置为零来标准化日期,我会得到结果。由于我已将 SQL 列类型声明为日期而不是时间戳,因此是否需要这样做?

I have a MySQL table with one of the column type as Date. In my hibernate mapping file I have mapped this column to type java.util.Date. Now in HQL while trying to retrieve objects based on date equality I do not get any results if I set the Date using new Date(). If I normalize the date by setting hours, minutes and seconds to zero I get results. Is this required since I have declared the SQL column type to be a Date and not Timestamp?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

抱猫软卧 2024-08-19 20:44:24

尝试 java.sql.Date

希望这能帮助您解决日期相等问题。

RDJ

Try java.sql.Date

Hopefully this will help you out with the date equality issue.

RDJ

甜是你 2024-08-19 20:44:24

通过显式设置 @Type,我能够将 java.util.Date 与 SQL Server 日期列一起使用:

@Type(type="date")
public java.util.Date getDate() {
    return date;
}

如果没有注释,我将收到

java.lang.IllegalArgumentException:时间戳格式必须为 yyyy-mm-dd hh:mm:ss [.fffffffff]

与 Hibernate 3.5.1-final

I was able to use java.util.Date with a SQL Server Date column by explicitly setting the @Type:

@Type(type="date")
public java.util.Date getDate() {
    return date;
}

Without the annotation, I was getting

java.lang.IllegalArgumentException: Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]

with Hibernate 3.5.1-final

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文