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 字节
时间: 2024-10-05 02:06:16