2017-08-05 68 views
1

我已經通過從.xlsx文件導入數據在MySQL中創建了部分數據庫。最後一部分的ID是3717.@GeneratedValue ID嘗試複製現有數據庫中項目的主鍵MySQL Java

現在我想從我的webapp中插入ID爲3718的新記錄到數據庫中,其中ID是自動生成的,但@GeneratedValue註釋嘗試從'1'生成ID然後拋出org。 springframework.dao.DataIntegrityViolationException用於複製主鍵。

如何自動生成從數據庫中最後一個零件ID開始的ID?

@Entity 
@Table(name = "parts") 
public class Part { 

@Id 
@GeneratedValue(strategy = GenerationType.AUTO) 
private Long id; 
private String name; 
private Integer quantity; 
private Double price; 

public Part() {} 
//getters and setters 
+0

是數據庫AutoIncrement中的ID嗎? – Cid

回答

0

這取決於你的休眠版本。取決於那個generationtyoe.auto會觸發一個或另一個。

如果正在使用的是表序列,那麼手動執行sql語句將當前值設置爲所需值就足夠了。

如果正在使用的是auto_increment表列,則足以改變表格以更新當前增量值。