在阅读 this article 之后,我倾向于不完全覆盖 equals() 和 hashCode()。

在那篇文章的摘要中,关于完全没有 eq/hC 的列,唯一的后果是我无法进行如下比较操作:

  • contains() 在分离实体的列表中,或
  • 比较来自不同 session 的相同实体

  • 并期待正确的结果。

    但我仍然有疑问,想问问你的经验,完全跳过 equals 和 hashCode 是否是一种不好的做法,以及我现在还不知道的其他后果。

    只是另一个信息点,我倾向于使用列表集合而不是集合。我的假设是,当存储在列表中时,我真的不需要覆盖 hashCode 和 equal 。

    最佳答案

    阅读关于这个主题的这篇非常好的文章: Don't Let Hibernate Steal Your Identity

    文章的结论是这样的:

    关于java - JPA : not overriding equals() and hashCode() in the entities?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5191406/

    10-11 22:29
    查看更多