Я читал, что при использовании JPA вы должны реализовать hashCode () / equals () для ваших сущностей.
Так, например, Eclipse имеет эту замечательную возможность генерировать эти методы для классов.
Но какие поля мне нужно выбрать?
Я прочитал это, выбирая Длинный идентификатор; поле вашей сущности не очень хорошая идея. (правильно? почему?)
Следует использовать бизнес-ключ (некоторые поля сущности, которые можно использовать для идентификации сущности. Верно?) В методах hashCode () / equals ().
Учитывая следующий сценарий:
1: n отношение между A и B ...
это хорошая идея, чтобы использовать эти ссылки в методе hashcode ()?
если я делаю это, я иногда сталкиваюсь с исключениями java.util.ConcurrentModificationException или Stackoverflow.
Как насчет переменных коллекции? я думаю, что я не должен использовать их в моей функции hashcode () ...
кто-нибудь может дать мне подсказку?