1. ホーム
  2. ハイバーネート

hibernateExceptionFound コレクションへの共有リファレンス

2022-03-18 02:29:56





    同じコレクション・オブジェクトを共有する 2 つのオブジェクトは、hibernate がトランザクションをコミットするときにこの例外をスローします。





JButton btnShow = new JButton(); 

btnShow.setActionCommand("show");

    このような状況になったのは、主にjavaにおける代入が明確でなかったためです。javaにおける代入操作は参照代入であり、その意味は Java A=Bは、実際にはBが指す値のアドレスを参照Aにコピーしています。この時点では、AとBは異なる2つの参照ですが、どちらも同じオブジェクトを指しているのです。オブジェクト参照を別のオブジェクト参照に代入する場合、オブジェクトのコピーを作成しているわけではなく、単に参照のコピーを作成しているに過ぎません。