Равен и хеш-код или нет на классах сущностей, вот в чем вопрос

Я пытался рассуждать о наилучшем способе обработки того, является ли вообще хорошей практикой реализация хэш-кода и равнозначных для сущностей (я имею в виду сущность в общем смысле, но в большинстве случаев это будет сущность JPA).

В главе 24 руководства Hibernatehttp://docs.jboss.org/hibernate/core/3.3/reference/en/html/best-practices.html это говорит об этом ...

Определите естественные ключи для всех сущностей и сопоставьте их, используя. Реализуйте equals () и hashCode () для сравнения свойств, составляющих естественный ключ.

Имеет смысл, чтобы .equals и .hashcode включали в себя только эти естественные ключи, но что, если у вас более одного экземпляра одного и того же объекта (один и тот же естественный идентификатор, таким образом, один и тот же хэш-код)? Кажется, что эта практика может иметь тонкие последствия в других местах вашего приложения. Кто-нибудь пробовал это раньше в больших масштабах?

Ответы на вопрос(2)

Ваш ответ на вопрос