小编rul*_*lo4的帖子

在mapstruct中@Mapping(target = "field", source = "")是什么意思?

我刚刚克隆了一个带有一些映射结构映射器的存储库(1.3.1.Final),由于以下原因,构建失败:

java: No property named "" exists in source parameter(s). Did you mean "sourceField1"?

我将 mapstruct 更新为 version 1.4.2.Final,但结果相同。

查看代码,我发现我们有以下情况:

  • SourceClass与字段sourceField1, sourceField2,sourceField3
  • TargetClass与字段targetField1, targetField2,notInSourceField
    @Mapper(componentModel = "spring")
    public interface TheMapper {

        @Mapping(target = "targetField1", source = "sourceField1")
        @Mapping(target = "targetField2", source = "sourceField2")
        @Mapping(target = "notInSourceField", source = "")
        TargetClass mapToTarget(SourceClass source);
    }
Run Code Online (Sandbox Code Playgroud)

为了解决上述错误,我将行更改source = ""为:

@Mapping(target = "notInSourceField", expression = "java(\"\")") //means that notInSourceField …

java mapping spring mapstruct

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×1

mapping ×1

mapstruct ×1

spring ×1