私は、エンティティにハッシュコードとイコールを実装することが一般的に良い方法であるかどうかを処理する最善の方法について推論しようとしています (一般的な意味でのエンティティを意味しますが、ほとんどの場合、JPA エンティティになります)。
Hibernate マニュアルhttp://docs.jboss.org/hibernate/core/3.3/reference/en/html/best-practices.htmlの第 24 章には、次のように書かれています...
すべてのエンティティの自然キーを特定し、 を使用してそれらをマッピングします。equals() と hashCode() を実装して、自然キーを構成するプロパティを比較します。
.equals と .hashcode にこれらの自然キーのみを含めることは理にかなっていますが、同じエンティティのインスタンスが複数ある場合 (自然 ID が同じであるため、ハッシュコードが同じ) はどうでしょうか? このプラクティスは、アプリケーションの他の場所に微妙な影響を与える可能性があるようです。これを大規模に試した人はいますか?