亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有沒有什么辦法解決序列重復問題?

有沒有什么辦法解決序列重復問題?

守著一只汪 2022-10-20 15:15:58
hibernate使用序列生成主鍵,在保存pojo時,會出現主鍵重復問題,這種情況在移植時最多,有沒有什么辦法在程序層面解決這種問題,當序列產生的值重復時,會自動忽略重復值,不拋出異常,而是獲取下一個序列值,直到獲取的序列值不重復時,才正常保存對象到數據庫
查看完整描述

3 回答

?
慕森王

TA貢獻1777條經驗 獲得超3個贊

按理說序列自動生成是不可能重復的,應該是你使用的時候有考慮不周的地方,為了避免重復,最好就是插入數據庫前先查詢當前序列,比較后再插入,不過會損失一定的效率了。

查看完整回答
反對 回復 2022-10-24
?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

可能是你的代碼有問題,一個類反復save了 主鍵就會重復

查看完整回答
反對 回復 2022-10-24
?
慕后森

TA貢獻1802條經驗 獲得超5個贊

在migrate(遷移數據庫時)要把sequence的當前值一起遷移。
這個是編寫migration腳本的任務。

數據庫本身提供相應的管理語句做這樣的修改。

沒必要做到一般業務邏輯中。
一種是直接寫sql修改sequence起始值,
一種是另外寫一個程序,檢查相關表,找到最大key值,然后根據這個值修改相應的sequence初始值。

查看完整回答
反對 回復 2022-10-24
  • 3 回答
  • 0 關注
  • 145 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號