【问题标题】:Is it okay to implement equals() and hashCode() on @Entity Model classes in Play Framework?可以在 Play Framework 中的 @Entity Model 类上实现 equals() 和 hashCode() 吗?
【发布时间】:2013-01-04 00:42:46
【问题描述】:

我的 Play 应用程序中有一个 @Entity-annotated Model 类,我将其填充到 Set 中,以确保在保存到数据库之前的唯一性。由于对象尚未保存,因此它们没有键值。所以必须根据它们的属性进行比较。

我查看了JPABase 中的equals() 实现,如果它们还没有键,它似乎显式地使所有实体对象不相等。

所以,我的问题:

  1. 可以在我的Model 子类中实现equals()hashCode() 吗?
  2. 如果是这样,最好/正确的方法是什么?是否应该拨打super.equals(),结果如何处理?

【问题讨论】:

    标签: java jpa playframework playframework-1.x


    【解决方案1】:

    我不建议在应用程序模型类中实现equalshashCode。唯一性最终应该由数据库来保证。从应用程序的角度来看,唯一性几乎总是强加于某个领域,例如用户名或电子邮件等。我从未遇到过通过hashCodeequals 方法对整个对象计算数据实体唯一性的情况。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-22
      相关资源
      最近更新 更多