问题描述
我具有以下实体类
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class EDetails {
Long id;
String type;
String comment;
String reason;
String site;
String location;
String secondaryLocation;
Date start;
Date end;
}
和DTO为
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class LDTO {
Long lId;
String lType;
String reason;
String comment;
String inSite;
String mLocation;
Date startDate;
Date endDate;
}
我有对象EDetails
的列表,其中包含五个要在其中进行映射的元素:
- 在前3个对象中,要将
EDetails.location
映射到LDTO.mLocation
。 - 要在前2个对象中将
EDetails.secondaryLocation
映射到LDTO.mLocation
。
我可以按照以下方式在简单的typemap
中映射第一步,但这仅适用于一种映射类型:
modelmapper.typeMap(EDetails.class,LDTO.class).addMappings(mapper -> {
mapper.map(src -> src.getId(),LogsDTO::setLId);
mapper.map(src -> src.getType(),LogsDTO::setLType);
mapper.map(src -> src.getLocation(),LogsDTO::setMLocation);
mapper.map(src -> src.getSite(),LogsDTO::setInSite);
mapper.map(src -> src.getStart(),LogsDTO::setStarteDate);
mapper.map(src -> src.getEnd(),LogsDTO::setEndDate);
});
如何指定具有相同类组合和不同映射的特定映射器,并将其应用于单个对象,如果可以在mapstruct
中提供此实现,那也足够了吗?
modelmapper.typeMap(EDetails.class,LogsDTO::setLType);
mapper.map(src -> src.getSecondaryLocation(),LogsDTO::setEndDate);
});
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)