在hibernate中使用new Date() 如果配置不好造成oracle date类型时分秒精准度丢失
比如你很有信心的把new Date()插入数据库,后来select后发现所有数据日期都显示为 2010-06-08 12:00:00这样的格式.
昨天我也遇到了这个问题,在试了很多网上的方法后在CSDN的一个跟帖中找到了最佳方案,而且也成功了。
————————
大概做如下修改
1 首先是你的pojo的xml配置文件:
把date类型换成timestamp
<property name="creationTime" type="timestamp">
2 吧你使用new date()的地方改成
java.util.Date currentTime = new java.sql.Timestamp(System.currentTimeMillis());
www.gbsou.com.IqcAssyRec rec = new www.gbsou.com.IqcAssyRec();
rec.setCreationTime(currentTime);
就可以了。
——————-
但是如果你的POJO采用的是注解Annotation风格
- @Column(name = "Last_Update_Time")
- @Temporal(value = TemporalType.TIMESTAMP)
- private Date lastUpdateTime;
可以直接使用 new Date();