在项目中使用ObjectMapper.readValue转换实体类,在某个实体类中,有个属性changeProperties,是Set<Entity>,转换后,changeProperties的值个数总是只有1个。
排查了很久,尝试了很多方法,最后发现Entity这个类重写了equals和hashCode,用id来计算hashCode和equals。而id属性的值又刚好都为null,于是修改equals和hashCode方法,将方法中的计算,改为用其他百分百有值的属性。
修改后重启,转换成功了,changeProperties的值个数正常了。
本文讲述了在项目中使用ObjectMapper进行实体类转换时遇到的问题,解决了一个由于实体类中Set属性的equals和hashCode冲突导致转换值数量异常的情况,重点在于修复equals和hashCode方法以确保正确转换。
2258

被折叠的 条评论
为什么被折叠?



