我正在创建两个对象类的多对多映射。我是否需要编写hashCode()
和equals()
方法;如果是这样,NetBeans自动生成代码的帮助?netbeans能否为映射自动生成正确的hashCode()和equals()方法?
2
A
回答
0
是的,您可以使用IDE生成的哈希码来比较两个实例。你的情况足以让你的情况更为重要的是平等的方法,注意比较平等的参数。自动生成的代码将比较所有参数,但您可能只需要几个参数来唯一标识它。
假设您需要查看从DB中读取的记录是否属于同一个实体,只需比较equals方法中的主键即可。选择平等标准完全是你的自由裁量权。
3
相关问题
- 1. 使用自动生成的hibenate实体对象的ID在equals和hashCode方法
- 2. 我们是否需要HyperJAXB生成的hashCode&equals方法?
- 3. FluentNHibernate自动映射不生成映射
- 4. 重写的hashCode()和equals()方法
- 5. equals和hashCode的泛型反射助手方法
- 6. 如何实现hashCode和equals方法
- 7. SCJP hashCode()和equals()方法混淆
- 8. toString,hashcode和equals方法内部接口
- 9. Overrding equals和hashCode
- 10. Map HashCode和Equals
- 11. Intellij插件生成getter/setter,hashcode/equals,toString
- 12. 我的equals和hashcode是否必须基于compareTo方法实现?
- 13. 如何获取checkstyle以跳过由eclipse生成的equals()和hashcode()方法?
- 14. 正确实现hashCode()方法
- 15. 生成从现有数据库和功能NHibernate自动映射
- 16. HashMap的不正确的equals和hashCode实现
- 17. Java equals()和hashCode()的变化
- 18. 维护/自动生成IBatis SQL映射?
- 19. 如何让Hibernate Tools使用toString,equals和hashcode生成POJO?
- 20. 的Mockito产生的StackOverflowError当模拟的方法被调用的equals()/ hashCode()方法
- 21. MyBatis自定义查询:为什么不生成模型和映射器方法?
- 22. Google App Engine,JDO和equals/hashCode
- 23. 为什么Collection接口有equals()和hashCode()?
- 24. 自动数学方程生成器不能正确显示
- 25. 使用自然键作为equals和hashCode的一部分
- 26. 正确执行equals() - 分数的方法
- 27. 重写HashMap实现的equals()和hashCode()方法
- 28. 如何正确覆盖HashCode方法?
- 29. hashCode和Equals在Map键中无法正常工作
- 30. 为复杂页面映射DTOs的正确方法
你只当你执行比较两个对象需要'equals'和'hashCode'。 – eatSleepCode
“它需要hashcode和equals方法吗”如果你的意思是“do * I *必须实现它们”,那么这取决于你想要做什么;请参阅[为什么我需要重写Java中的equals和hashCode方法?](http://stackoverflow.com/questions/2265503/why-do-i-need-to-override-the-equals-and-hashcode-方法-在-java的)。 –
由于您使用'ManyToMany'映射,因此您的参数之一将是对象的集合,因此从技术上讲,您将需要equals和hashcode方法。因此,您需要决定“equals”方法的实现,也许您可以使用生成的'hashCode'方法。 – eatSleepCode