テーブルを挿入しようとしている2人以上のユーザーが、Hibernateで一意の制約違反例外を取得しています。扱い方は誰でも手伝ってくれます。よろしくお願いします。
質問する
5633 次
1 に答える
3
このエラーは、一意のインデックスまたは制約を持つ列に値を含む行を挿入する場合に常に表示され、この列に挿入された値が別の行に既に存在します。これは、マルチスレッド環境での同時アクセスの問題である可能性があります。
問題の原因に応じて、それを解決するための戦略がいくつかあります
。Hibernate は、<generator>
タグ内の<id>
タグを支援します。
-<version>
タグを使用して、同じエンティティの同時変更を回避する-
一意の値を生成するメソッドを作成する
- コードの一部を Javasynchronized
ステートメントと同期
する - ステートレス セッションを使用し、例外の後、新しい値で挿入を再試行する
- 論理エラーを修正するあなたのコード
- そしてもっと...
于 2012-05-09T07:19:43.587 に答える