OK、これはこれのフォローアップの質問です。私は今本当に混乱しているので.
エンティティ間に 1 対多または多対多の関連付けがPersonあり、JavaEventのクラスに. ( Event に単一またはが含まれているかどうかは無視しましょう。)PersonSet<Event>PersonSet<Person>
Events はデータベースに格納されたエンティティであるため、イベント フィールドを変更できます。Event可変性を処理し、Java Set<> ID チェックを混乱させない正しい方法は何ですか? この場合、hashCode()および/またはオーバーライドすることは決してありませんか? equals()(例: ID = オブジェクト参照 ID に基づく)
を順序付けたい場合Event(イベントの開始時間など)、フィールドの変更をどのように管理すればよいEventですか? 変更がそこに反映されると、データベースは問題なく処理しますが、Java 側では、コレクション内のイベントを変更するには、それを削除して変更し、再挿入する必要があるということですか? それとも、Hibernate マッピングの Java 側でソートされた順序を維持する実際の方法はありませんか? (したがって、順序付けされていないものとして処理する必要があるため、並べ替えられたEvents のリストを取得するときはいつでも Java で並べ替えを処理する必要がありますか?)
編集:うーん、equals/hashCode に関するこれらの議論を見つけました: