当前位置: 首页 > 知识库问答 >
问题:

组织。mapstruct不适用于基类

束雅达
2023-03-14

我有两门课。我的基层:

@Data
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Setter
public class BaseRequest {

   @NotNull
   @JsonProperty("dateTransaction")
   private String dateTransaction;

   @NotNull
   @JsonProperty("hourTransaction")
   private String hourTransaction;

}

还有我的另一门课。这个类扩展了BaseRequest类。

public class AddClass extends BaseRequest {

   @Setter
   @Getter
   private String additionalData60;

}

当我尝试创建映射器将我的Add Class转换为其他类时:

@Component
@Mapper(componentModel = "spring", uses = {})
public interface OtherMapper{

   @Mappings({
        @Mapping(source = "hourTransaction", target = "timeTransaction"),
        @Mapping(source = "dateTransaction", target = "dateTransaction"),
        @Mapping(source = "additionalData60", target = "additionalData60"),
   })
   OtherClass toOtherClass(AddClass addClass);

}

当我运行我的构建时,我收到了这个错误:

错误:(22,13)java:源参数中不存在名为“dateTransaction”的属性。你是说“空”吗?

共有1个答案

弓方伟
2023-03-14

在Lombok上,MapSTRt没有问题。

但是,如果您已经按照Lombok变更日志升级到Lombok 1.18.16,那么您需要添加

lombok-map结构绑定

在格拉德尔:

annotationProcessor "org.projectlombok:lombok-mapstruct-binding:0.1.0"
<path>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok-mapstruct-binding</artifactId>
    <version>0.1.0</version>
</path>
 类似资料:
  • 我正在通过boto3组织从主AWS帐户获取所有子帐户。代码运行良好。我可以得到子帐户列表。但是如果您再次运行我的AWS Lambda函数,那么它将无法获取子帐户。 获取以下错误: 20到30分钟后,我可以看到我的代码工作了一次又一次地引发上述异常。 我是由AWS网关AWS Lambda运行此代码的。 有什么想法吗? 代码:

  • E立方管理平台适用于任何组织,现在使用它的组织包括:军队,政府,企业单位,事业单位,慈善机构。 这么说吧,只要用得到EXCEL的地方,就用得到E立方管理平台,特别是需要共享EXCEL中的信息的组织,更需要E立方管理平台的网络功能,以实现协同办公的要求。 在E立方管理平台客户中,有同时千人在线的大型企业,也有只需一人用户的小单位。

  • 我收到一个编译错误: 然而,当我移除mapstruct注释处理器时,它可以很好地编译。 所以我认为mapstruct是在类生成之前扫描它们?对此有什么解决方案吗?

  • 我尝试为eclipse安装字节码大纲插件。在这期间,我得到了以下错误: 无法完成安装,因为找不到一个或多个必需项。当前安装的软件:字节码大纲1.0.0.201901132101-8614914(org.eclipse.jdt.bcoview.feature.feature.group 1.0.0.201901132101-8614914)缺少要求:字节码大纲1.0.0.201901132101-8

  • 为什么下面的代码不将输出限制为前三个字符? 输出: 我希望输出为: