java - 逆映射在默认函数上效果不佳
问题描述
抱歉,我是 mapstruct 的新手,假设我们有 Door、Car 类和 DoorDTO、CarDTO,如下所示,
我是否必须编写 doorToDoorsDTO 的反函数才能使 carDTOToCar 正常工作?
注意:我在doorsToDoorsDTO 上添加了@InheritInverseConfiguration 但生成的代码仍然不正确!
public class Door{
Long id;
String name;
String color;
..
..
}
public class DoorDTO {
Long id;
String name;
}
public class Car {
List<Door> doors;
}
public class CarDTO {
List<DoorDTO> doorDTOs;
}
@Mapper
public interface MyMapper {
CarDTO carToCarDTO(Car car);
@InheritInverseConfiguration
Car carDTOToCar(CarDTO carDTO);
List<Door> doorsToDoorsDTO(List<Door> doors){
List<DoorDTO> doorDTOs = new ArrayList<>();
doors.foreach(door -> {
DoorDTO doorDTO = new DoorDTO();
doorDTO.setId(door.getId());
doorDTO.setName(door.getName());
doorDTOs .add(doorDTO);
});
return doorDTOs;
}
}
解决方案
MapStruct 将为您生成列表..
@Mapper
public interface MyMapper {
CarDTO carToCarDTO(Car car);
@InheritInverseConfiguration
Car carDTOToCar(CarDTO carDTO);
DoorDTO doorToDoorDTO(Door door);
@InheritInverseConfiguration
Door doorDToDoor(DoorDTO doorDTO);
}
推荐阅读
- cobol - 使用外部工作存储变量是否会影响性能
- sql-server - 如何设置 sp_send_dbmail 以通过电子邮件发送查询结果?
- mongodb - MongoDB 聚合 - 根据数据选择查找集合。可以做到吗?
- python - Tensorflow 稀疏张量问题
- laravel - Laravel 5.1 干预图像压缩
- r - 从 .docx 中删除 R 中的特殊字符
- c# - 配置服务后访问身份密码选项
- regex - perl 编译的正则表达式中 (?^: ) 的含义
- reactjs - 如何使用 redux Form 实现日期选择器
- c# - 使用 Array.Sort 仅对元素进行排序而不对索引号进行排序?