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