lombok坑之一:pId接收不到数据

当使用Lombok的@Data注解时,如果属性名为pId,自动生成的getter/setter方法会被命名为getPId/setPId,这可能导致后台无法正确接收。根据JavaBean规范,属性名第二个字母大写时,方法名应保持原样。解决方法是手动创建或生成setpId()和getpId()方法。了解这一规范有助于避免类似问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有一个属性名为pId意思为父级ID,接口传到这个值后台一直接收不到,也碰到过几次,之前都是直接改属性名字,一直也没深究其因。今天同事又发现这个问题,于是记录一下这个坑

原因

项目一直用的lombok的**@Data注解自动生成get/set
例如
pId**属性会自动生成
getPId() / setPId()
在这里插入图片描述

JavaBean规范中,有这样的规范:如果属性名的第二个字母大写,那么该属性名直接用作 getter/setter 方法中 get/set 的后部分,就是说大小写不变。例如属性名为uName,方法是getuName/setuName。

解决办法

自己重新手写或者生成一个setpId() / setpId() 即可
在这里插入图片描述

资料参考:https://www.csdn.net/tags/MtTaMg5sMDM0ODY0LWJsb2cO0O0O.html

### Java Lombok @Data 注解编译错误解决方案 当遇到 `@Data` 或其他 Lombok 注解导致的找不到符号 (cannot find symbol) 的编译错误时,通常是因为 IDE 或构建工具未能正确识别和处理这些注解。以下是详细的排查和解决方法: #### 1. 安装并配置 Lombok 插件 确保已安装适用于开发环境的 Lombok 插件。对于 IntelliJ IDEA 用户来说,即使官方宣称自带集成,也建议手动确认插件状态。 - 进入菜单栏中的 **File -> Settings** - 寻找 **Plugins** 部分,并搜索 "Lombok" - 如果未安装,则点击 **Install**, 并按照提示完成操作[^5] #### 2. 启用注解处理器 某些情况下,默认设置可能禁用了必要的注解处理器功能,这会阻止 Lombok 正常工作。 - 对于 Maven 和 Gradle 构建项目,需确保 pom.xml 文件或 build.gradle 中包含了正确的依赖项以及启用了 APT(Annotation Processing Tool) ```xml <!-- For Maven --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${最新版本号}</version> <scope>provided</scope> </dependency> <build> <plugins> <!-- Enable annotation processing --> ... </plugins> </build> ``` ```groovy // For Gradle dependencies { compileOnly 'org.projectlombok:lombok:${最新版本号}' annotationProcessor 'org.projectlombok:lombok' } ``` - 在 Eclipse/IntelliJ IDEA 设置里开启 Annotation Processors 功能 - **Eclipse**: Window → Preferences → Java → Compiler → Building → Enable project specific settings...勾选上"Enable annotation processing" - **IDEA**: File → Settings → Build, Execution, Deployment → Compiler → Annotation Processors 勾选 "Enable annotation processing"[^3] #### 3. 清理缓存与重新导入模块 有时旧版文件残留可能导致冲突,清理相关缓存有助于解决问题。 - 使用命令行执行如下指令来清除本地仓库缓存: ```bash mvn clean install -U # 更新所有快照版本依赖 rm -rf ~/.m2/repository/* # 删除Maven全局库下的所有内容(谨慎操作!) ``` - 或者通过 IDE 提供的功能来进行清理重置动作,比如在 IDEA 上可以选择 Invalidate Caches / Restart 来刷新整个工程结构. #### 4. 检查 Lombok 版本兼容性 不同 JDK 及框架组合下可能存在不匹配情况,因此要保证所使用的 Lombok 是最新的稳定发行版之一;同时也要注意与其他第三方库之间的潜在冲突关系[^1]. ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

求生的码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值