java - MapStruct,地图继承
问题描述
我有 2 个实体Vehicle
,一个是接口,VehicleDto
一个是类。
Vehicle
有 2个子类型:Car
和Truck
。他们三个都有一个字段name
。
VehicleDto
有 2 个字段 Car
和Truck
,其中只有一个可能有值。
如何将子类型映射Car
到Truck
类VehicleDto
,以便VehicleDto
用子类型的值填充相应的字段name
?
目前我有这个:
@Mapping(source = "name", target = "Car")
@Mapping(source = "name", target = "Truck")
VehicleDto mapToVehicle(Vehicle vehicle);
但这显然行不通,因为现在Car
和Truck
字段VehicleDto
都已填写。
我也尝试过这样的事情
@Mapping(source = "name", target = "Car")
VehicleDto mapToVehicle(Car car);
@Mapping(source = "name", target = "Truck")
VehicleDto mapToVehicle(Truck truck);
但这也不能正常工作。
实现此行为的好方法是什么?MapStruct 的参考指南对我来说不是很清楚。
解决方案
推荐阅读
- r - 我的 gsub 不适用于我的字符串,为什么?
- language-server-protocol - 语言服务器协议:查找所有方法
- vba - 如何在 VBA 中获取文件 DateLastModified 的 UTC?
- wpf - WPF过滤的动态菜单
- python - 从集合中获取字典的 Pythonic 方法
- javascript - [React][Webpack] 如何动态显示图片?
- php - 选择表格 - 在第三个表格中链接两个表格
- python - BigQuery Reservations API:位置 EU 不可能
- flutter - 颤动中没有 TabBarView 的 TabController
- reactjs - 从异步箭头函数返回 JSX