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

解决方案 »

  1.   

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

  2.   

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