【发布时间】:2012-02-23 04:16:07
【问题描述】:
我正在尝试使用 SQL Server 列出在表中注册的日期,但我的问题是我提取的所有日期与表中的日期相差 2 天。
例如,我的数据库中有 2012-12-25,当我检索它并将其转换为 Java.util.Date 时,它变成了 2012-12-23...
我在另一个表中的日期处理正常。
我使用的是 SQL Server 2008、Hibernate 3 和 Spring 3。
编辑:
表的列数据类型是日期,我正在使用 hibernate 检索它,所以这是我的 hibernate 查询调用:
public List<Holiday> retrieveAllHolidays() {
return (List<Holiday>) sessionFactory.getCurrentSession().createQuery("from Holiday")
.list();
}
holiday 对象有两个属性:一个 String 和一个 Date(从数据库中检索到这个是不正确的)。
【问题讨论】:
-
表中的列数据类型是什么?你如何检索日期?您能否展示演示该问题的最小程序的代码?
-
尝试使用日历对象..你需要用
type='java.util.Calendar'更新你的映射问题通常是java.util.Date对象..我曾经遇到过这样的问题,然后我切换了到Caneldar -
我刚刚尝试了 Calendar 对象,我遇到了同样的问题,我提取的日期格式不同,但它们仍然是错误的。
-
谢谢你马丁!我已经下载了修复程序并应用了它......它现在可以工作了:)
标签: java sql-server hibernate spring