前言:今天写代码的时候遇到了一个问题,现在来和大家分享一下:
创建时间:crea_time在数据中是Datetime类型
但是当我在实体类上使用 @Temporal 注解来给这个日期类型进行转换时,如果要是用
@Temporal(TemporalType.Date)
然后再向数据库中添加的时候用的
setCreateTime(new Date());
这种写法在添加到数据库之后,后面的时分秒回变成0,这种情况的发生一般是由于时间日期对象使用错误造成的。
- java.util.Date是不能直接插入数据库中的,虽然它包含了日期和时分秒
- java.sql.Date可以直接插入数据库,但是它只有日期而没有时间
- java.sql.Time可以直接插入数据库,但是它只有时间,没有日期
显然这些都不满足我们的需求
解决:
@Temporal(TemporalType.TIMESTAMP)
setCreatetime(new Timestamp(new Date().getTime()));
这样解决了问题