[hibernate]基本值类型映射之日期类型

hibernate基本值类型映射中日期类型支持date,time,timestamp这三个选项,其中

date:对应数据库中的date类型,表示只显示日期

time:对应数据库中的time类型,表示只显示时间

timestamp:对应数据库中的timestamp类型,如果数据库支持datetime类型则对应的是datetime类型,表示日期时间都显示(此处为经过本人测试后的猜测)。

以下摘自:开源中国

MySQL 中用来存储完整时间的字段包括有 TIMESTAMP 和 DATETIME 两个。很多人在选择时间字段的时候就有点晕,到底我该选择哪一个,它们俩有什么区别吗?

日期范围

TIMESTAMP 支持从’1970-01-01 00:00:01′ 到 ’2038-01-19 03:14:07′ UTC. 这个时间可能对目前正在工作的人来说没什么问题,可以坚持到我们退休,但对一些年轻的读者,就会有 Bug2K+38 的问题。

DATETIME 从 ’1000-01-01 00:00:00′ 直到’9999-12-31 23:59:59′.

考虑到二者在范围上的不同,你当前的事件日志使用 TIMESTAMP 是没有任何问题的,不过如果是为了记录你祖父和孙子的生日,那还是要用 DATETIME.

另外我建议,如果是一些跟现在相关的时间,可以选择 TIMESTAMP. 例如记录的添加时间之类的,其他的话还是要选择  DATETIME.

存储方面的比较

TIMESTAMP 需要 4 字节的存储空间,而 DATETIME 则需要 8 字节

posted on 2016-11-26 12:06  代码ok  阅读(425)  评论(0编辑  收藏  举报