使用Lombok导致打印的tostring中缺少父类的属性问题
作者:合格的程序员
使用Lombok时,若发现@Data注解的@ToString不包含父类属性,可通过添加@ToString(callSuper=true)解决,此方法确保在生成toString()时包括父类的属性,有效解决只打印子类属性的问题,这种做法对于需要完整信息展示的场景尤为重要
Lombok导致打印的tostring中缺少父类的属性

@Data
public class User extends BaseEntity {
/**
* 姓名
*/
@TableField("name")
private String name;
/**
* 密码
*/
@TableField("password")
private String password;
/**
* 性别
*/
@TableField("sex")
private String sex;
/**
* 年龄
*/
@TableField("age")
private Integer age;
/**
* 邮箱
*/
@TableField("email")
private String email;
/**
* 排序
*/
@TableField("sort")
private Integer sort;
图中打印内容只包含子类属性,却不包含父类BaseEntity的属性
此处@Data修饰,此注解包含了getter,setter,tostring
所以此处的tostring如果不设置参数的话,打印string的时候只会包含子类的属性
解决
在@Data的基础上再加一个@ToString(callSuper = true)注解
callSuper = true
即解决缺少父类属性的问题
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
