在写IDEA中写程序时,可以发现有提示警告。
有两种处理方式,目前使用的是比较方便的方法。
1.现象
因为,ContractMonitor是BaseEntity的派生类。
@Data public class ContractMonitor extends BaseEntity {
2.这个时候看编译后的代码
可以发现,这里result=1,BaseEntity的属性不在其中。
3.处理
在实体类上继续加上注解,@EqualsAndHashCode(callSuper = true)
看编译后的class,可以发现,调用了父类的hashCode方法,说明,父类的属性也被添加到hashcode的计算中了。
是合理的。
4.说明
在实体类上继续加上注解,@EqualsAndHashCode(callSuper = false)。
这种效果就是相当于不考虑父类的字段属性。
二:第二种方式
1.新建一个lombok.config
在java目录下
2.内容
config.stopBubbling=true lombok.equalsAndHashCode.callSuper=call
3.就存在效果了
三:参考文档