2014-10-30 67 views
1
@Id 
@GeneratedValue(strategy = GenerationType.AUTO) 
private int color_id; 

上面生成一個自動遞增的數字,如1,2,3,4,5,6。但是當我們用6刪除記錄時,下一個生成的數字是7.但是我希望下一個生成的數字是6.我該怎麼做?我需要自動增量繼續從6,7本身不是7,8有沒有辦法?hibernate @GeneratedValue,如何處理刪除的行。在mysql中

+0

您需要刪除自動生成的列,並且必須再次使用自動生成約束來添加該列。這是解決這個問題的唯一方法。 – 2014-10-30 11:28:20

+0

@Vighanesh Gursale如何刪除該列,當一行被刪除時,你能解釋它嗎?請。 – TEDDY 2014-10-30 11:37:39

+1

你不明白我在說什麼。檢查這個鏈接http://stackoverflow.com/questions/9754244/remove-gaps-in-auto-increment – 2014-10-30 11:54:30

回答

3

自動發電保證只是唯一的關鍵。這就是你應該需要的。甚至有情況下,自動生成提供了一串鑰匙,以提高效率與共享數據庫:

  • 一個客戶端要求創建一個新的行
  • ID的連續意甲保留供客戶端連接
  • 這客戶可以創造出許多新的生產線沒有新的IDS

這種情況幾乎總是生成行ID重新詢問數據庫

  • 包含孔
  • ID不一定增加下列插入

的時間相信我:一些生產體系很高興能與它,因爲它會導致網絡和數據庫的爭用更少。

如果你想要嚴格連續的id,沒有漏洞,但不要求自動生成數據庫id,那麼你就是你自己。

相關問題