You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中MapStruct忽略单个目标字段t3消除未映射警告的方法

解决MapStruct仅忽略单个未映射目标字段的问题

直接通过@Mapping注解指定要忽略的目标字段即可,不需要设置source属性(因为源类A中根本没有t3字段),正确写法如下:

import org.mapstruct.Mapper;
import org.mapstruct.Mapping;

@Mapper
public interface AMapper {
    @Mapping(target = "t3", ignore = true)
    B toB(A a);
}

关键说明

  • @Mapping(target = "t3", ignore = true)的作用是明确告诉MapStruct:目标类B中的t3字段不需要进行映射,跳过该字段的检查。
  • 你之前尝试的@Mapping(source = "t3", ignore = true)是错误的,因为源类A没有t3字段,MapStruct不需要也无法找到对应的源属性,只需要指定目标字段即可。
  • 这种方式只会忽略t3这一个字段,后续如果B类新增其他未映射的字段,依然会触发警告,完美满足你“仅忽略t3”的需求,不会像unmappedTargetPolicy = ReportingPolicy.IGNORE那样全局忽略所有未映射字段。

内容的提问来源于stack exchange,提问作者JohnN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 23:07:38