当前位置: 首页 > news >正文

继承父类的实体对象没打印出来父级属性问题

继承父类的实体对象没打印出来父级属性问题


@Data
public class BaseEntity {
	/**
     * 创建人
     */
    private String createdBy;
}


@Data
public class UserDto extends BaseEntity {
	/**
     * 姓名
     */
    private String name;
 
    /**
     * 密码
     */
    private String password;
}

在打印json串日志的时候 , 发现没有 BaseEntity 对象里面的属性 createdBy

原因分析:
Lombok 的 @Data 注解会为当前类生成 toString()、equals()、hashCode() 等方法,但它不会自动包含父类的属性。如果你没有显式处理父类的属性,父类的属性将不会被包含在生成的 toString() 方法中。

解决方法:
可以通过以下两种方式解决:

1. 手动重写 toString() 方法:在子类中手动重写 toString() 方法,并调用父类的 toString() 方法。能用lombok的就不需要手动重写toString方法 !!!

2. 使用 Lombok 的 @ToString(callSuper = true) 注解:显式告诉 Lombok 在生成 toString() 方法时包含父类的属性。

最终解决方案:
在实体对象加上注解 , 主要是 callSuper = true , 继承父级属性
@ToString(callSuper = true)


@ToString(callSuper = true)
@Data
public class UserDto extends BaseEntity {
	/**
     * 姓名
     */
    private String name;
 
    /**
     * 密码
     */
    private String password;
}


相关文章:

  • YOLOv5部署全场景问题解决方案手册(2025版)
  • 2025年汽车加气站操作工考试精选题库
  • postman小白教程(从入门到实战,详细教学)
  • 【鸿蒙开发】Hi3861学习笔记- OLED示例
  • Execution failed for task ‘:path_provider_android:compileDebugJavaWithJavac‘.
  • 邮件祝福常见模版
  • #Hadoop全分布式安装 #mysql安装 #hive安装
  • 循环神经网络(Recurrent Neural Network, RNN)与 Transformer
  • 【嵌入式学习】补码-加减乘除电路
  • Netty源码—2.Reactor线程模型二
  • 强推 Maven多镜像源快速切换工具,GUI操作超便捷
  • 379_C++_通过小时、天、月、年的地址偏移,上告的图片数据存储在不同的时间粒度位置;提取的时候按照同样的小时、天、月、年偏移,提取数据
  • GitHub在push推送到远程仓库的时候显示Logon failed登录失败
  • Qt 导入TagLib库
  • 【Wconv】小波卷积--即插即用的模块
  • Redis数据类型详解
  • 反反爬虫技术指南:原理、策略与合规实践
  • 亮剑AWE2025,追觅全品类高端智能家电开启时代新篇
  • 字节大模型面经
  • 实战:Windows环境下C语言串口通信与多线程编程
  • 特朗普政府涉税改法案遭众议院预算委员会否决
  • 马上评|训斥打骂女儿致死,无暴力应是“管教”底线
  • 江苏省委组织部副部长高颜已任南京市委常委、组织部部长
  • 体坛联播|博洛尼亚时隔51年再夺意杯,皇马逆转马洛卡
  • 人民日报评外卖平台被约谈:摒弃恶性竞争,实现行业健康发展
  • 山西省委常委李金科添新职