我有一个实体,假设一个使用龙目岛注释的物品
@EqualsAndHashCode(callSuper = true)
会自动生成equals()
和hashCode()
方法。
实体放在HashSet
集合中。
问题是,当我从数据库(Spring JPARepository
和Hibernate)PersistentSet
代理获取HashSet
中的项目时,以及我使用时, Lombok @EqualsAndHashCode
方法persistentSet.contains(object)
返回false
。当我的hashCode()
返回1或其他值但没有Lombok 自动生成的方法时,它可以正常工作-> persistentSet.contains(object)
返回true
。 Lombok自动生成的hashCode()
的其他功能似乎也不错,因为它会返回会话中给定对象的常量值。所以我迷路了。
也许有人知道我们在这里错了吗??
版本:
休眠状态:5.3.9.Final
龙目岛:1.18.10
数据库:MySQL
春季:5.1.9。发布