これは私が実際に今混乱しているので、this oneへのフォローアップの質問です。Hibernate内のエンティティのコレクションの落とし穴
は、私はJavaでPerson
クラスがSet<Event>
が含まれていることを実体Person
と、このようなEvent
の間に1対多または多対多関連を持っていると仮定します。 (イベントに単一のPerson
またはSet<Person>
が含まれているかどうかを無視してみましょう)
Event
は、データベースに格納されているエンティティなので、イベントフィールドを変更できます。 Event
の変更可能性を処理し、Java Set <> IDの確認が混乱しないようにする正しい方法は何ですか?この場合、hashCode()
および/またはequals()
を上書きすることは決してありませんか? (ID =オブジェクト参照IDに基づいて)
Event
を注文する(イベントの開始時間など)には、Event
のフィールドの変更を管理するにはどうすればよいですか?変更が一旦そこに伝播すると、データベースはそれをうまく処理しますが、Java側では、コレクション内のEventを変更するために、削除して変更して再挿入する必要がありますか?あるいは、HibernateマッピングのJava側でソートされた順序を維持する実際の方法はありませんか? (したがって、私は順不同としてそれを処理するために持っているので、私はEvent
秒のソートされたリストを取得したい時はいつでも、Javaでソート扱い?)
編集:
:不潔、私はただのequals/hashCodeを上これらの議論を見つけました