一尘不染

SQL Server中的日期提取问题

hibernate

我试图列出使用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();
}

假日对象有两个属性:一个字符串和一个日期(从数据库中检索后,这是不正确的)。


阅读 278

收藏
2020-06-20

共1个答案

一尘不染

该问题与JDBC驱动程序的JRE 7支持有关(getDate()函数存在问题)。

有关更多信息,请参见这篇文章:Microsoft
JDBC驱动程序团队博客

再次感谢马丁·史密斯(Martin Smith)指出了另一个问题!

2020-06-20