java-time - Mapstruct:无法从 java.time.LocalDate 转换为 java.time.OffsetDateTime
问题描述
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)”。
我尝试在映射器中声明以下方法。
java.time.LocalDate map(java.time.OffsetDateTime value);
我收到错误:
错误:java.time.LocalDate 没有可访问的空构造函数。java.time.LocalDate 映射(java.time.OffsetDateTime 值);
有人可以解释如何执行转换吗?
解决方案
我创建了自己的自定义映射器,如文档第 5.4 节中所述。调用其他映射器。这为我解决了这个问题。
推荐阅读
- macos - 在 mac OS 中安装 tesseract ocr
- python - 无法将更改从 Django 迁移到 Oracle 数据库
- css - 如何按顺序为模式项目设置动画?
- python - 如何通过 django 管理面板添加列
- system-verilog - 当应用于 SystemVerilog 接口时,“虚拟”是什么意思?
- uvm - `uvm_do_with 的问题:无法生成更多数据
- javascript - Vuex - 在状态中使用“this”关键字访问子组件中的方法
- sql - 计算两个不同表的两列之间的差异
- c++ - C ++:声明为extern时对const指针的未定义引用
- html - 我的 Angular 应用程序中没有显示任何内容