Hibernate のアノテーションが付けられたオブジェクトを@Entity
マップのキーとして使用しても安全ですか? 安全な意味で、オブジェクトのデータベース ID が同じであれば、2 つのキーが同じであると期待しています。デタッチされたオブジェクトのないトランザクション スコープで使用しています。
質問する
64 次
1 に答える
3
ID が同じである場合に 2 つのオブジェクトが等しいことを認めた場合 (これを行った場合)、オーバーライドhashCode
してそれequals
に基づいて行う必要があります。そうした場合、これらのオブジェクトはキーとして安全に使用できます。もちろん、これらの ID が変更されないと仮定します。
編集:これらのIDの変更を制限すると、永続化される前にオブジェクトを作成してコレクションにキーとして追加することが制限されます。通常、 および でビジネス キーを使用することをお勧めしますhashCode
equals
。
于 2013-03-28T06:44:04.303 に答える