java - 在基实体类上实现 hashCode 和 equals(可能使用反射)?

标签 java hibernate jpa

我想知道在基实体类中使用 hashCode 一个 equals 方法是否是一个好习惯,这样继承基类的其他实体类就不会具有编写自己的 hashCodeequals 方法?

现在我们所有的实体类都使用apache的EqualsBuilderHashCodeBuilder,我们正在比较所有实体的属性。

这有点乏味,因为我们必须对所有实体执行此操作,所以我想知道(在基本实体中)使用反射和 apache 的 PropertyUtil 是否可以?循环实体的属性并生成正确的 equalshashCode

最佳答案

如果您引用实体的 DDD 概念中的实体(具有与值对象或服务相反的身份的域对象),那么是的,您应该覆盖实体的基类相等比较,并使其根据实体的 Key 或 Id 属性确定相等性。

关于java - 在基实体类上实现 hashCode 和 equals(可能使用反射)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5189388/

相关文章:

hibernate - 无法将实体与派生实体合并

java - JPA Hibernate 搜索预测

Java汽车动画平滑和走曲线

java - hibernate 中的 TransientObjectException

mysql - 子表在一对多更新过程中未更新

java - Hibernate与oracle生成无效的sql

java - 了解实体映射到数据库 View 的删除或更新

java - 如何找出谁破坏了 KEY_TYPED 事件?

java - 如何通过 USB 进行通信(手机到 PC)?

java - Activity 类应该有任何逻辑吗?