Hibernate保存到db 31.12.2009 23:00:00.000000而不是1.1.2010

时间:2011-04-07 15:19:27

标签: hibernate datetime jpa jodatime

我有spring + jpa + hibernate的应用程序。有两个joda日期时间字段。它们作为TimeStamp(6)生成到数据库。

第一个设置为DateTime() 第二个设置为01/01/2010

如果我检查保存的值: 第一个设置为LocalTime - 2,它可能是UTC

第二个设置为31.12.2009 23:00:00.000000

WHY ?????????

根据原作者的评论

编辑

private void updateTimeStamps() 
{ 
  if (validFrom == null) { 
    validFrom = new DateTime(); 
  } 
  // if (validTill == null) { 
    validTill = new DateTime().withDate(2010, 01, 01); 
  // } 
}

但第二个的差异是UTC转换。

1 个答案:

答案 0 :(得分:0)

试试这个:

new DateTime(2010, 1, 1, 0, 0, 0, 0, DateTimeZone.UTC);