Hibernate的实体类中为什么要写equals方法和hashcode方法--请各位高人指点

时间:2022-12-29 16:14:13
Hibernate的实体类中为什么要写equals方法和hashcode方法,我去掉这两个方法后,每次进行实体保存时,或更新保存时,总是报错!加上之后,能正常运行,这是为什么?郁闷

3 个解决方案

#1


判断对象的唯一性

#2


Hibernate说:
1.如果想把持久类的实例放入set中(多值关联时,1对多),建议实现equals和hashcode
2.想重用托管实例时,也要
没有说必须要。你的错误另有原因!

#3


因为你 配置多对多,一对多,都用了set,set集合中会用hashcode和equals来判断元素是否重复,而hibernate会用这个..
不过这个你不写,他也有默认的,不会出错,只能说重写了又删除了可能造成了错误

#1


判断对象的唯一性

#2


Hibernate说:
1.如果想把持久类的实例放入set中(多值关联时,1对多),建议实现equals和hashcode
2.想重用托管实例时,也要
没有说必须要。你的错误另有原因!

#3


因为你 配置多对多,一对多,都用了set,set集合中会用hashcode和equals来判断元素是否重复,而hibernate会用这个..
不过这个你不写,他也有默认的,不会出错,只能说重写了又删除了可能造成了错误