Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SQL Server中的日期提取问题_Java_Sql Server_Hibernate_Spring - Fatal编程技术网

Java SQL Server中的日期提取问题

Java SQL Server中的日期提取问题,java,sql-server,hibernate,spring,Java,Sql Server,Hibernate,Spring,我试图用SQL Server列出表中注册的日期,但我的问题是,我提取的所有日期与表中的日期相差2天 例如,我在数据库中得到了2012-12-25,当我检索它并将其转换为Java.util.Date时,它变成了2012-12-23 我在另一个表中有关于日期的进程,它们运行良好 我正在使用SQLServer2008、Hibernate3和Spring3 编辑: 表的列数据类型是date,我正在使用hibernate检索它,下面是我的hibernate查询调用: public List<Holi

我试图用SQL Server列出表中注册的日期,但我的问题是,我提取的所有日期与表中的日期相差2天

例如,我在数据库中得到了2012-12-25,当我检索它并将其转换为Java.util.Date时,它变成了2012-12-23

我在另一个表中有关于日期的进程,它们运行良好

我正在使用SQLServer2008、Hibernate3和Spring3

编辑:

表的列数据类型是date,我正在使用hibernate检索它,下面是我的hibernate查询调用:

public List<Holiday> retrieveAllHolidays() {
    return (List<Holiday>) sessionFactory.getCurrentSession().createQuery("from Holiday")
    .list();
}
公共列表检索所有假日(){
返回(列表)sessionFactory.getCurrentSession().createQuery(“从假日”)
.list();
}

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

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

有关更多信息,请参阅本文:


再次感谢Martin smith指出另一个问题

表中的列数据类型是什么?你是如何检索日期的?你能为演示该问题的最小可能程序显示代码吗?请尝试使用日历对象。。您需要使用
type='java.util.Calendar'
更新映射,问题通常是java.util.Date对象。。我曾经遇到过这样的问题,然后我切换到
Caneldar
我刚刚尝试了Calendar对象,我遇到了同样的问题,我提取的日期格式不一样,但仍然是错误的。谢谢Martin!!!我已经下载了修补程序并应用了它。。。现在可以了:)