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