同じ識別子値を持つ別のオブジェクトがすでにセッションと関連付けられていました。
2022-02-08 08:32:24
[DH-OFFICE] 2013-06-16 23:50:30 ERROR [http-8080-5] NewsAction.save(128) | a different object with the same identifier value was already associated with the session: [com.sencloud.dh.oa.model.info.News#10060]; nested exception is org.hibernate. with the same identifier value was already associated with the session: [com.sencloud.dh.oa.model.info.News#10060]; nested exception is org.hibernate.
今日、この問題にぶつかったんだ。それは次のように解決することができます。
1. 同じ識別子値を持つ別のオブジェクトが、すでにセッションと関連付けられていた。
エラーの理由 hibernate の同じセッション内に、2 つの同じ識別子と異なるエンティティが存在します。
解決策1:session.clean()
PS: クリーン操作の後に、データの状態を変更する saveOrUpdate(object) のような操作を行うと、 "Found two representations of the same collection" 例外が報告される可能性があります。
解決策2:session.refresh(object)
PS: オブジェクトがデータベース内の既存データのオブジェクトでない場合、session.refresh(object)は使用できません。このメソッドはhibernateセッションからオブジェクトを取得するため、セッションにオブジェクトがない場合はエラーを報告するので、saveOrUpdate( object) を使う場合も事前に判断しておく必要があります。
解決策3:session.merge(object)
追記:Hibernateは内部に独自のメソッドを持っているので、それを使うことをお勧めします。
2、同じコレクションの2つの表現が見つかった
エラーの理由 1を参照してください。
解決策:session.merge(object)
上記の2つの例外は、1対多のマッピングや多対多のマッピングでよく見られるものです。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ハートビート・エフェクトのためのHTML+CSS
-
HTML ホテル フォームによるフィルタリング
-
HTML+cssのボックスモデル例(円、半円など)「border-radius」使いやすい
-
HTMLテーブルのテーブル分割とマージ(colspan, rowspan)
-
ランダム・ネームドロッパーを実装するためのhtmlサンプルコード
-
Html階層型ボックスシャドウ効果サンプルコード
-
QQの一時的なダイアログボックスをポップアップし、友人を追加せずにオンラインで話す効果を達成する方法
-
sublime / vscodeショートカットHTMLコード生成の実装
-
HTMLページを縮小した後にスクロールバーを表示するサンプルコード
-
html のリストボックス、テキストフィールド、ファイルフィールドのコード例