@Id
@SequenceGenerator(name = "SEQ_表_字段_ID", sequenceName = "SEQ_表_字段_ID")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_表_字段_ID")
@Column(name = "ID", unique = true, nullable = false, insertable = true, updatable = false, length = 22)
public Long getId() {
return id;
}
//2019/2/18記
在自測過程中,發現插入的數據中,id有負數的情況。如下:
跟dba討論了下,查看創建數據庫表序列是否有問題。以下爲創建的序列sql
/*創建該表序列*/
CREATE SEQUENCE SEQ_表_字段_ID
INCREMENT BY 1
START WITH 1
MINVALUE 1
MAXVALUE 1E28
NOCYCLE
CACHE 20;
sql沒問題,按照現有的規範去配置,開始值爲1。
後面發現是id策略配置的問題。以下爲修改後的id配置:
@Id
@SequenceGenerator(name = "SEQ_表_字段_ID", sequenceName = "SEQ_表_字段_ID", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_表_字段_ID")
@Column(name = "ID", unique = true, nullable = false, insertable = true, updatable = false, length = 22)
public Long getId() {
return id;
}
重點配置在於:allocationSize = 1
參考的鏈接: