java - 映射嵌套 bean 列表:“org.mapstruct.Mapping”
问题描述
我想将Abc
类映射到AbcDTO
使用“org.mapstruct.Mapping”
class Abc {
private List<Xyz> xyz = null;
private String uvw;
private String cde;
}
class AbcDTO{
private List<XyzDTO> xyz = null;
private String uvw;
private String cde;
}
class Xyz{
private String type;
private String value;
private String docId;
}
class XyzDTO{
private String type;
private String value;
private DocDTO document;
}
我尝试使用注释映射类:
@Mappings({
@Mapping(source = "xyz.docId", target = "xyz.doc")
})
abcDTO abcToabcDTO(abc abc)
有人可以帮助我如何遍历嵌套的bean并将其映射docId
到doc?
如果名称相同,它们会自动映射但我想从映射docId
到doc
。
解决方案
当你想要地图列表时,你可以定义它:
@Mapping(source="docId", target="doc")
XyzDTO xyzToXyzDTO(XyZ xyz);
@Mapping(source="xyz", target="xyz") //useless if two lists got same name, but good for comprehention
AbcDTO abcToAbcDTA(Abc abc);
推荐阅读
- asp.net-core - 重定向以登录 Blazor Server Azure B2C 身份验证
- .net-core - 全新安装后,在 Ubuntu 20.04 上缺少版本为 2.2.8 的 Microsoft.AspNetCore.App
- apollo-server - 使用 Key 启动网关以验证配置,然后使用 Bearer 令牌进行查询
- c++ - 首先调用复制构造函数,而不是仅在传递 R 值引用时移动构造函数
- python - 排序列表的实现类
- javascript - 在onClick上从另一个php将两个变量返回到两个不同的div
- linux - Linux:连接时的 USB 触发器仅在首次连接时触发。需要 `systemd --user damon-reload` 再次激活
- static-libraries - nim:使用静态库
- algorithm - 有人可以评估这个函数的时间复杂度吗
- google-cloud-platform - Bigquery DML 操作