Hibernate HQL 和日期
我有一个 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试 java.sql.Date
希望这能帮助您解决日期相等问题。
RDJ
Try java.sql.Date
Hopefully this will help you out with the date equality issue.
RDJ
通过显式设置 @Type,我能够将 java.util.Date 与 SQL Server 日期列一起使用:
如果没有注释,我将收到
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:
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