Java Spring与Hibernate集成获得重复记录
在我们的项目中,我们使用Spring和Hibernate,并使用其他团队JAR作为依赖JAR从oracle数据库获取数据 即使我们在模型类中实现了equals()和hashCode()方法,并且将这些对象存储在HashSet中,我们也会得到重复的记录。我很奇怪为什么set允许在这里复制对象。即使hashCode()和equals()方法被重写 如果您观察到屏幕快照,modcount大小不同,表大小也不同Java Spring与Hibernate集成获得重复记录,java,spring,hibernate,collections,hibernate-mapping,Java,Spring,Hibernate,Collections,Hibernate Mapping,在我们的项目中,我们使用Spring和Hibernate,并使用其他团队JAR作为依赖JAR从oracle数据库获取数据 即使我们在模型类中实现了equals()和hashCode()方法,并且将这些对象存储在HashSet中,我们也会得到重复的记录。我很奇怪为什么set允许在这里复制对象。即使hashCode()和equals()方法被重写 如果您观察到屏幕快照,modcount大小不同,表大小也不同 从类中删除hashCode()或equals() 如果在类中重写equals和hashcod
- 从类中删除hashCode()或equals()
- 如果在类中重写equals和hashcode方法,则equal对象返回相同的hashcode。。HashSet不允许使用相同的hashcode,因为HashSet验证基于hashcode的复制,所以解决方案是:可以从类中删除hashcode()或equals()
- 从类中删除hashCode()或equals()
- 如果在类中重写equals和hashcode方法,则equal对象返回相同的hashcode。。HashSet不允许使用相同的hashcode,因为HashSet验证基于hashcode的复制,所以解决方案是:可以从类中删除hashcode()或equals()
equals
和hashCode
并不意味着您不能有重复的代码。请提供您的代码。这将有助于理解这个问题。顺便说一句,仅仅因为您实现了equals
和hashCode
并不意味着您不能有重复项。