鍍金池/ 問答/Java  數(shù)據(jù)庫/ SpringBoot Jpa MySql 字段默認值為 CURRENT_TIME

SpringBoot Jpa MySql 字段默認值為 CURRENT_TIMESTAMP 失效

問題描述

我在mysql數(shù)據(jù)庫中建了一張表,其中一個字段create_time的默認值的CURRENT_TIMESTAMP,
我在項目中進行但愿測試的時候 新增了一條數(shù)據(jù)。
項目是使用的SpringBoot框架 結(jié)合 jpa 和 表之間形成印社關系,并對表進行操作。
新增數(shù)據(jù)成功后,我發(fā)現(xiàn)create_time的值為null

百度 google之后沒有發(fā)現(xiàn)解決問題的思路。特來詢問。謝謝!
下面是相關截圖
圖片描述

圖片描述

當前使用的mysql版本為8
圖片描述

回答
編輯回答
懶豬
create table tablename (
…… 
    `create_time` timestamp not null default current_timestamp comment '創(chuàng)建時間',
…… 
)

以前遇到過同樣的情況
如果你的sql創(chuàng)表格式?jīng)]錯的話,
你entity類里面不要寫createtime和updatetime屬性,因為一旦傳參進去,就會更新為null

/0718中午更新
必須取到兩個時間的值并且實現(xiàn)update自動的更新的話修改如下(已測試通過)
在entity類上加注解@EntityListeners(AuditingEntityListener.class)
在兩個屬性上分別加注解
@CreatedDate @LastModifiedDate
在你的啟動類**application上加注解@EnableJpaAuditing
--測試一下save和更新

2018年3月7日 13:43