尝试使用mapstruct将两个列表映射到另一个列表时遇到问题。结构如下:
public class classA{
List<ObjectA> list;
}
public class classB{
List<ObjectB> list;
}
public class classC{
List<ObjectC> list;
}
我需要将来自类C和类B的列表映射到类A中的列表(从对象B和对象C到对象A的映射已经完成)。我尝试了以下方法:
@Mappings({
@Mapping(target="list", source="obj1.list"),
@Mapping(target="list", source="obj2.list")
})
classA map(classB obj1, classC obj2);
//the other mappers from objectC and objectB to objectA
这给我带来了编译错误。有人能帮我映射这些列表吗?我听说过一个名为异常的注释参数,但无法解决我的问题。
谢谢
这不能由mapstruct完成。合并2个列表时总是涉及业务逻辑。因此,您需要b来编写自己的方法实现。我最近在MapStruct网页上写了一个常见问题。这适用于预先存在的列表@MappingTarget。但类似的推理适用于将2个源列表合并为一个目标。http://mapstruct.org/faq/#why-mapstruct不可能从更新mappingtarget方法生成可迭代流和映射类型的实现吗
假设我有这样的映射: 现在,我需要将子列表映射到子列表,但它们都有相同的父对象。我希望这样做: 但不管用,有机会做吗?
给定: 我想把所有的车都标出来。将轮胎分为单独的轮胎板。我知道我可以做一个
下面是我的DTO。 源DTO 目标DTO
我是MapStruct的新手,我试图映射目标类中的对象列表,其中as源具有包括其他字符串变量在内的单个值。自定义实现也没有运气。请执行的任何建议
假设我有两个列表,现在listOld包含旧员工信息,listNew包含新员工信息 我如何比较这两个列表并返回新列表,其中包含,添加的新员工列表,包含,删除的员工列表,包含上次更新已更改的员工的新列表? 我只能想到迭代列表和比较,可能最终几乎是O(n2)时间,这可以由任何util类更有效地完成吗?