【mapstruct】Java 中 mapstruct mapper 转换器部分字段转换无效的解决方案

news/2025/2/23 16:01:02

本文目录

一、背景描述

二、问题原因

原因一:映射的字段不一致

原因2:编译问题

三、解决方案


一、背景描述

springboot 2.1.5 + mapstruct 1.3.0.Final + maven管理工具

接手一个项目,根据需求需要对其接口进行修改,对于两个实体类字段赋值,项目中使用 mapstruct 框架自动映射对应字段。对于其中一个实体类中,新增加了两个字段,重启项目使用 swagger 调用测试,发现新增加的字段映射失败,没有把新增的两个字段的值赋值过去,而其他字段则可以正常赋值。

二、问题原因

对于这个现象,有两个原因,以下详细说明一下:

原因一:映射的字段不一致

首先怀疑两个字段需要映射的字段写的不一致,检查完之后发现需要映射的两个字段与被映射的字段一模一样,最终排除掉此原因。

原因2:编译问题

使用 mapstruct 框架,对于需要映射的实体类,会先自动编译好之后存入 target 目录,而 idea 开发工具的重启并没有清空 target 目录下已经编译好的文件,所以导致新增加的两个字段即使重启项目也没有自动映射。

重启后的项目 target 目录下,还是之前编译好的文件,因此新增加的两个字段没有自动映射。

三、解决方案

使用 maven 自带插件,对项目 clean 一下,然后再重新启动,即可解决此问题。

 完结!


http://www.niftyadmin.cn/n/1993235.html

相关文章

【工具使用】SecureCRT的下载、安装图文详细过程介绍

本文目录 一、SecureCRT的介绍 二、SecureCRT的下载 三、SecureCRT的安装 四、SecureCRT的使用 一、SecureCRT的介绍 SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。 Secure…

三国志IX修炼统率的方法

三国志9修炼统率的方法 1、统率10: (1)孙子兵法 (统率10 忠诚30 加兵法斗舰) 。通:1-2(孙坚) 3-4(孙策) 5-9(孙权) 10(孙休) 。IF:1-2(孙坚) 3-5(孙策) 6-7(孙权) 8(孙皓) 9(孙权) 10(孙坚) (2)六韬 (统率8 忠诚18 无加兵法) 。通&#…

【异常】com.alibaba.fastjson.JSONException: unclosed string : U

本文目录 一、背景描述 二、错误原因 三、解决方案 一、背景描述 解析 json字符串 时,报如下错误: com.alibaba.fastjson.JSONException: unclosed string : U ....... 二、错误原因 该问题是因为json字符串中含有“\”导致的,如下图所示…

【异常】Feign 调用api模块直接进入fallback的问题解决办法

本文目录 一、背景描述 二、问题原因 三、解决方案 一、背景描述 最近在项目中把服务层的接口封装成了api模块,当其他项目引用了该api模块,调用接口的时候,直接走了fallback,并且没有打印任何异常信息。并且已经在启动类上添加…

三国志IX反○○连合的条件

三国志IX反○○连合的条件 成立反○○连合条件1游戏开始一年后2与目标势力君主非亲子关系3与目标势力关系为[中立]以下(即中立/不和/险恶)4与目标势力领土接壤,支配都市一个以上5符合2,3,4条件的势力最少有三个(不计异…

【拓展】路由器的附加功能----地址转换和包过滤

本文目录 一、通过地址转换有效利用IP地址 1.1 地址转换的背景 1.2 地址转换的基本原理 1.3 改写端口号的原因 1.4 从互联网访问公司内网 二、路由器的包过滤功能 一、通过地址转换有效利用IP地址 之前我们介绍了路由器的基本工作过程,现在的路由器除了这些基…

三国志IX能力上升法

三国志IX能力上升法 主要有三种内政或战斗时实行特定指令或行动战斗时使用特定兵法发生特定事件 能力上升相关指令/行动/兵法实行指令或行动的能力上升率约3%事件详情可参考另文[三国志IX探索事件簿] 统率指令:军事(建设),计略(救援)行动:攻陷设施/歼灭敌军兵法:无事件:封禅…

三国志IX无血占领

三国志IX无血占领 孙子曰:百战百胜,非善之善也,不战而屈人之兵,善之善者也故上兵伐,其次伐交,其次伐兵,其下攻城故使用[外交]指令[劝告]不战而胜,乃上上之策 必要条件1自势力领土与对象势力邻接2自势力兵士数10万以上3自势力兵士…