Generating equals/hashCode implementation but without a call to superclass
1、lombok 警告,沒有注入父類的字段
當我們給一個繼承了父類的子類上使用@Data @ToString @EqualsAndHashCode 注解時,IDE 會警告
Generating equals/hashCode implementation but without a call to superclass
意思是,該注解在實現 ToString EqualsAndHashCode 方法時,不會考慮父類的屬性,通過反編譯的源碼也是可以看到他是沒有對父類的字段進行比較的
2、解決方式一:直接在子類上聲明 @EqualsAndHashCode(callSuper = true)
3、解決方式二[推薦]:在項目的src/main/java根目錄下創建lombok配置文件
請注意,該方式有版本要求,最低為lombok 1.14
如果是IDEA ,創建該配置文件會被IDEA 以一個黃色的小配置圖標進行顯示
配置文件(lombok.config)的配置內容如下
config.stopBubbling=true
lombok.equalsAndHashCode.callSuper=call
1、config.stopBubbling=true
該配置聲明這個配置文件是一個根配置文件,他會從該配置文件所在的目錄開始掃描
2、lombok.equalsAndHashCode.callSuper=call
全局配置 equalsAndHashCode 的 callSuper 屬性為true,這樣就不用每個類都要去寫了
3、lombok 配置的分層
lombok 配置文件支持分層,在根目錄配置的的配置文件對全局生效,如果某個子包中也有配置文件,則子包的類優先以子包中的配置為准
原文鏈接:https://blog.csdn.net/qq_15071263/java/article/details/91660519
