当前位置: 首页 > 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;
}


http://www.dtcms.com/a/80152.html

相关文章:

  • 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语言串口通信与多线程编程
  • 11、STL中的set使用方法
  • CPP从入门到入土之类和对象Ⅱ
  • java TCP UDP 客户端访问例子和对比差异
  • Docker学习笔记(十)搭建Docker私有仓库
  • 第三章:单调栈
  • MATLAB神经网络优化1000个案例算法汇总
  • KV Cache 在自回归生成中的作用及显存优化
  • Python连接数据库进行增删改查
  • Postman高级功能深度解析:Mock Server与自动化监控——构建高效API测试与监控体系
  • DeepSeek+知网研学赋能研究生学习课程:降低科研压力与提升科研效率