有没有办法防止在具有自动生成的主键的实体上使用休眠模式重复数据输入?
更具体地说,我在数据库中有一个持久对象,并且有一个瞬态对象(尚未插入数据库),这两个对象在 equals 和 hashcode 方法方面是相同的。但是,由于这些对象的实体类的 id 使用生成的值注释进行了注释,所以 hibernate 仍然为数据库中的瞬态对象创建一个新实例。因此,数据库具有具有不同主键的重复条目(关于 equals 和 hashcode 方法)。
是的,我知道如果我不自动生成 PK,或者如果我使用 UUID,那么我会实现我的目标。但我只想问为什么equals和hashcode方法不适用于具有自动生成主键的实体?还是我做错了什么?