Mapstruct:无法从java.time.LocalDate转换为java.time.OffsetDateTime

时间:2018-06-06 15:52:50

标签: java-time mapstruct

public class ClassA {
     private OffsetDateTime updateBy;
}

public class ClassB {
     private LocalDate timestamp;
}

public interface ClassABMapper {
     @Mapping(target = "updateBy", source = "classB.timestamp")
     ClassA map(ClassB classB);
}
  

无法将属性“java.time.LocalDate timestamp”映射到“java.time.OffsetDateTime updateBy”。考虑声明/实现一个映射方法:“java.time.OffsetDateTime map(java.time.LocalDate value)”。

我尝试在mapper中声明以下方法。

java.time.LocalDate map(java.time.OffsetDateTime value);

我收到了错误:

  

错误:java.time.LocalDate没有可访问的空构造函数。           java.time.LocalDate map(java.time.OffsetDateTime value);

有人可以解释一下如何进行转换吗?

1 个答案:

答案 0 :(得分:0)

我按照文档section 5.4. Invoking other mappers中的说明创建了自己的自定义映射器。这为我解决了这个问题。