1. 程式人生 > >@GeneratedValue 註解詳解

@GeneratedValue 註解詳解

springboot中@GeneratedValue作用:

(1)、@GeneratedValue註解存在的意義主要就是為一個實體生成一個唯一標識的主鍵、@GeneratedValue提供了主鍵的生成策略。

(2)、@GeneratedValue註解有兩個屬性,分別是strategygenerator,

generator屬性:

generator屬性的值是一個字串,預設為"",其聲明瞭主鍵生成器的名稱
(對應於同名的主鍵生成器@SequenceGenerator和@TableGenerator)。

strategy屬性:提供四種值:

-AUTO主鍵由程式控制, 是預設選項 ,不設定就是這個

-IDENTITY 主鍵由資料庫生成, 採用資料庫自增長, Oracle不支援這種方式

-SEQUENCE 通過資料庫的序列產生主鍵, MYSQL  不支援

-Table 提供特定的資料庫產生主鍵, 該方式更有利於資料庫的移植


注意:預設SpringBoot的@GeneratedValue 是不需要加引數的,但是如果資料庫控制主鍵自增(auto_increment), 不加引數就會報錯