繁体   English   中英

在Play框架的@Entity Model类上实现equals()和hashCode()可以吗?

[英]Is it okay to implement equals() and hashCode() on @Entity Model classes in Play Framework?

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

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

因此,我的问题是:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM