我要实现的是将一个字段插入映射器列表中。这里是我要实现的示例。
以下是我抽象出来的实体
class X {
private String field1;
private String field2;
private List<Y> ys;
}
class Y {
private String field1;
private String field2;
}
与Dto匹配
interface XMapper {
XDto fromXEntity(X source) ;
YDto fromYEntity(Y source) ;
}
我可以通过@Mapping直接忽略直接字段(ignore = true,target =“ field2”)。
在生成fromXEntity时,它将映射field1,field2和ys。现在,当列表被映射时,我希望它忽略field2。我该怎么做?
非常感谢
答案 0 :(得分:0)
将接口转换为抽象类/类,并添加一个列表方法,对其进行迭代并从XEntity方法调用
class XMapper {
XDto fromXEntity(X source) ;
YDto fromYEntity(Y source) ;
List<XDto> fromXEntities(List<XDto> list){
List<XDto> dtos = new ArrayList<>();
for(XDto dto : list){
dtos.add(fromXEntity(dto));
}
return dtos;
}
}