【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”
//DATE - java.sql.Date
//TIME - java.sql.Time
//TIMESTAMP - java.sql.Timestamp
@Temporal(TemporalType.TIMESTAMP)
@Column(name="start_time")
private Date startTime;
上面的方法可以是默认是当前时间吗,不能的话该怎么写呢,三种类型的时间形式有什么区别。
date 表示年月日,如YY-MM-DD
datetime 表示年月日和时间信息,如YY-MM-DD HH:MM:SS
datestamp 和datetime表示的信息相同,但时间范围不同
时间范围
date -- >
'1000-01-01'
to'9999-12-31'
.datetime -->
'1000-01-01 00:00:00'
to'9999-12-31 23:59:59'
.datestamp -- >
'1970-01-01 00:00:01'
UTC to'2038-01-19 03:14:07'
UTCjava.sql.Time 时间型,精确到时分秒,例如“20:00:00”
java.sql.Timestamp 时间戳,精确到纳秒,例如“2008-08-08 20:00:00.000000001”
但是怎么给date 给个默认值(当前时间),避免新添加字段后,还需要些数据库脚本更新以前的旧数据(要是没有默认值,以前的数据这个时间字段就是个null了)
这种好像不行啊,用注解给默认值才可以,不知道当前时间用注解怎么写。
@Column(columnDefinition="TIMESTAMPTZ default '2009-01-01 00:00:00' ")
像这种样子的,后面的时间换成当前时间。