摘要
在DST 条目后读取一天并更改非日期字段也会将日期字段更改为减1天(读取2月22日持续为2月21日)
背景
postgres 9.2.7
jboss 4.2.3
CentOS的
DST最终日期:2015年2月22日(在22月22日00:00我们回到2月23日23:00)
Foo +--------------------------------------+ | id | eventDate(date)| name | +-------------------------+------------| | 1 | 2015-02-22 | Iorek | | 2 | 2015-02-22 | Lyra | | 3 | 2015-02-22 | Stanis | | 4 | 2015-02-22 | Asriel | | 5 | 2015-02-23 | Will | +--------------------------------------+
Foo.java(Pojo)
java.util.Date for eventDate
问题情景
使用javaweb应用程序:使用ID为1的HQL加载 Foo 对象,例如,将名称从 Iorek 更改为 指南针并将其保留,也会将 eventDate 更改为-1天。新表格如下所示:
Foo after change +--------------------------------------+ | id | eventDate(date)| name | +-------------------------+------------| | 1 | 2015-02-21 | Compass | | 2 | 2015-02-22 | Lyra | | 3 | 2015-02-22 | Stanis | | 4 | 2015-02-22 | Asriel | | 5 | 2015-02-22 | Will | +--------------------------------------+
如果我更改id 5条目,例如eventDate没有任何改变。它只发生在2015-02-22(从DST过渡到正常)的条目中
尝试重现
此方案仅在生产环境中发生,并且未在开发中确认。
将开发java指向生产数据库(只读访问)我可以确认时间戳已正确读取,日期读取为2015-02-22(无法在第22天测试更改的条目的写入)