按照大家學習SpringBoot的經驗來看, SpringBoot的@GeneratedValue 是不需要加參數的,但是如果數據庫控制主鍵自增(auto_increment), 不加參數就會報錯:錯誤: 關係 "hibernate_sequence" 不存在
@GeneratedValue(strategy=GenerationType.IDENINY)
PS:@GeneratedValue註解的strategy屬性提供四種值:
-AUTO主鍵由程序控制, 是默認選項 ,不設置就是這個
默認使用序列生成,依賴hibernate_sequence序列生成值
-IDENTITY 主鍵由數據庫生成, 採用數據庫自增長, Oracle不支持這種方式
數據庫主動賦值,但兼容性較差
-SEQUENCE 通過數據庫的序列產生主鍵, MYSQL 不支持
-Table 提供特定的數據庫產生主鍵, 該方式更有利於數據庫的移植