使用Lombok导致打印的tostring中缺少父类的属性问题
更新时间:2024年11月05日 15:32:29 作者:合格的程序员
使用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
即解决缺少父类属性的问题
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Java java.lang.ExceptionInInitializerError 错误如何解决
这篇文章主要介绍了 Java java.lang.ExceptionInInitializerError 错误如何解决的相关资料,需要的朋友可以参考下2017-06-06
java连接HBase,连接不上报错can not resolve问题及解决
这篇文章主要介绍了java连接HBase,连接不上报错can not resolve问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-06-06
SpringBoot 如何使用sharding jdbc进行分库分表
这篇文章主要介绍了SpringBoot 如何使用sharding jdbc进行分库分表,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-02-02


最新评论