1

Hibernate のアノテーションが付けられたオブジェクトを@Entityマップのキーとして使用しても安全ですか? 安全な意味で、オブジェクトのデータベース ID が同じであれば、2 つのキーが同じであると期待しています。デタッチされたオブジェクトのないトランザクション スコープで使用しています。

4

1 に答える 1

3

ID が同じである場合に 2 つのオブジェクトが等しいことを認めた場合 (これを行った場合)、オーバーライドhashCodeしてそれequalsに基づいて行う必要があります。そうした場合、これらのオブジェクトはキーとして安全に使用できます。もちろん、これらの ID が変更されないと仮定します。

編集:これらのIDの変更を制限すると、永続化される前にオブジェクトを作成してコレクションにキーとして追加することが制限されます。通常、 および でビジネス キーを使用することをお勧めますhashCodeequals

于 2013-03-28T06:44:04.303 に答える