5
回答
hibernate 注解 给时间默认值为当前时间
华为云4核8G,高性能云服务器,免费试用   

     //DATE            - java.sql.Date        
     //TIME            - java.sql.Time        
     //TIMESTAMP - java.sql.Timestamp        
     @Temporal(TemporalType.TIMESTAMP)        
     @Column(name="start_time")        
     private Date startTime;   

 

上面的方法可以是默认是当前时间吗,不能的话该怎么写呢,三种类型的时间形式有什么区别。

举报
xiabibo
发帖于7年前 5回/5K+阅
共有5个答案 最后回答: 7年前

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' UTC

java.sql.Date 日期型,精确到年月日,例如“2008-08-08”

java.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' ")

像这种样子的,后面的时间换成当前时间。

顶部