MySQL DB专栏:
PLANNING_DATE datetime
Java字段:
private java.util.Date planningDate;
Hibernate映射:
<property name="planningDate" column="PLANNING_DATE" type="timestamp" not-null="true"/>
问题:
MySQL DB中的PLANNING_DATE
并不总是匹配planningDate
字段。有时,它会产生1秒的偏移。这是一个四舍五入的问题吗?
答案 0 :(得分:4)
好吧,我认为这是因为在MySQL&gt; = 5.6.4中他们默认将DATETIME更改为截断小数秒。我更新了我们的表模式以使用新的DATETIME(6)。我会检查这是否确实是原因。
http://dev.mysql.com/doc/refman/5.6/en/fractional-seconds.html
编辑:实际上,MySQL中的DATETIME = 5.6.4(相当于DATETIME(0))舍入为秒精度,而不是截断的Oracle中的DATE。添加了自定义Hibernate类型来进行截断而不是舍入,问题就解决了。
答案 1 :(得分:0)
我对MySql或Hibernate都不太了解,但这里有......
A)您可能应该使用java.sql.Date。它是java.util.Date的瘦子类,意味着可以与JDBC一起使用。
B)MySql doc确实提到他们的日期时间类型不存储秒的小数部分。所以也许正在进行四舍五入。但是文档提到了截断。