2012-05-09 87 views
0

兩個或多個嘗試插入表的用戶在Hibernate中獲取唯一約束衝突異常。如何處理任何人都可以幫助我。提前感謝。Hibernate中的唯一約束衝突異常

+2

你應該接受的答案,你以前的問題之一,否則人們停止回答你的問題。 –

+0

檢查您的ID生成stratergy的[參考這個問題,以獲得更多關於ID生成] [1] [1]:http://stackoverflow.com/questions/495536/hibernate-id-generator –

回答

2

如果要在具有唯一索引或約束的列中插入具有值的行並且此列的插入值已存在於另一行中,則總是出現此錯誤。這可能是多線程環境中併發訪問的問題。

根據問題的來源,有一些策略可以解決它:
- 使用生成器(序列或類似的)來生成唯一的ID。 Hibernate可以幫助您使用<id>標籤中的<generator>標籤。
- 使用<version>標籤,以避免同一實體的併發修改
- 寫生成唯一值
的方法 - 同步的部分代碼與Java​​聲明
- 使用無狀態會話和異常後重試正確的邏輯錯誤,在你的代碼
- - 用一個新值
插入和一些更多...

+0

我將與您的親切信息檢查。感謝約翰娜。 – Ganesamoorthy