Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Mapstruct<;抽象主类型>/&书信电报;子类型>;至<;抽象主类型Dto>/&书信电报;亚型>;映射_Java_Mapstruct - Fatal编程技术网

Java Mapstruct<;抽象主类型>/&书信电报;子类型>;至<;抽象主类型Dto>/&书信电报;亚型>;映射

Java Mapstruct<;抽象主类型>/&书信电报;子类型>;至<;抽象主类型Dto>/&书信电报;亚型>;映射,java,mapstruct,Java,Mapstruct,我们想要地图 abstract Person PersonRole1 extends Person PersonRole2 extends Person 到 映射程序将获取Person Type作为参数(要么PersonRole1要么PersonRole2)。根据该参数的属性,它应该决定映射到哪个Dto类型(其中一个是PersonDtoRoleX,PersonDtoRoleY,PersonDtoRoleZ) 构造mapstruct映射器定义的最佳方法是什么?mapstruct并

我们想要地图

abstract Person
    PersonRole1 extends Person
    PersonRole2 extends Person

映射程序将获取Person Type作为参数(要么
PersonRole1
要么
PersonRole2
)。根据该参数的属性,它应该决定映射到哪个Dto类型(其中一个是
PersonDtoRoleX
PersonDtoRoleY
PersonDtoRoleZ


构造mapstruct映射器定义的最佳方法是什么?

mapstruct并不是为了解决所有的业务问题,因此您可能需要在方法中实现自己的逻辑。MapStruct将从其生成的代码中调用该方法。您可能想玩一下
@TargetType

您可以在自己的逻辑中调用MapStruct生成的方法

abstract PersonDto
   PersonDtoRoleX extends PersonDto
   PersonDtoRoleY extends PersonDto
   PersonDtoRoleZ extends PersonDto