父类子类都使用@Data注解的时候会导致:equals方法在父类中重写equals,可能不是对称的。问题。
解决方案:子类的注解添加以下
@Data @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true)
使用@Data时默认@equalsandhashcode的状态为callsuper=false
@equalsandhashcode(callsuper=false)表达为在对象比较时不会考虑父类中的成员,仅仅比较子类中的属性就判断是否相同
@equalsandhashcode(callsuper=true)在比较时会考虑父类中的成员,通过父类和子类中的属性一起判断是否相同