我想知道在基实体类中使用 hashCode
一个 equals
方法是否是一个好习惯,这样继承基类的其他实体类就不会具有编写自己的 hashCode
和 equals
方法?
现在我们所有的实体类都使用apache的EqualsBuilder
和HashCodeBuilder
,我们正在比较所有实体的属性。
这有点乏味,因为我们必须对所有实体执行此操作,所以我想知道(在基本实体中)使用反射和 apache 的 PropertyUtil 是否可以?循环实体的属性并生成正确的 equals
和 hashCode
?
最佳答案
如果您引用实体的 DDD 概念中的实体(具有与值对象或服务相反的身份的域对象),那么是的,您应该覆盖实体的基类相等比较,并使其根据实体的 Key 或 Id 属性确定相等性。
关于java - 在基实体类上实现 hashCode 和 equals(可能使用反射)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5189388/