JPA問題 : Field id doesnt have a default value

一、問題描述

修改實體主鍵的設置方式爲int自增模式,也就是

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;

本以爲直接用repository.save,直接萬事大吉,結果報錯:

Field 'id' doesn't have a default value

二、解決辦法

查了很多資料,有的說表結構沒有勾選自增選項云云,但我這是jpa自動建表啊,也不用我手動去搞表結構。

後來發現我把表結構刪了重新執行代碼就正常了。

 

三、問題原因

其實是這個配置搞的事情:

jpa:
  hibernate:
    ddl-auto: update

update只有在新增字段時候,纔會修改表結構新加一個字段。

而我之前建好的表,我改了表主鍵生成方式,update選項並不會更新到表結構中。所以我刪除了表結構,重新生成就沒有問題了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章