hibernate插入DB时间

潜水都一年了,还是觉得应该积累点知识了。

在下菜鸟,高手勿喷!!!

最近做项目,数据库和程序不在一个服务器上,很多地方要插入当前时间,由于对时间的精确比较严格(两个服务器时间很可能不同),为了统一只能插入数据库当前时间了。

总结的办法有:

第一种 如果不对数据库插入的时间进行更新,那么用这种办法比较好,具体如下:

在数据库中定义该时间字段的默认时间。由于hibernate未开启动态更新默认保存整个对象的所有属性值。所以可以删除要保存的时间属性,或者在hbm.xml文件中定义该字段的 update=“false”  insert=“false”  属性。这样在保存对象的时候由于执行的sql语句没有插入该时间字段,数据库就会自动生成当前时间。

第二种 做一个通用的方法专门用来获得数据库时间, 对要插入的对象的属性进行set操作然后保存对象。

第三种 查询select current_timestamp() from 自己的VO对象 ,查出来的时间格式为

“2011-05-18 16:05:40.112162”  然后格式化,set到对应属性。

相关推荐