I'm trying to use separated @AfterMaping/@BeforeMapping methods for 2 methods: toDto and toPartialDto, but MapStruct generates code, where all @AfterMaping/@BeforeMapping methods are used.
I tried rework my abstract class to interface, but the problem remains.
@BeanMapping(qualifiedByName = {"method1", "method2", "method3"})
public abstract MyDto toDto(MyEntity entity);
@Named("toPartialDto")
@BeanMapping(ignoreByDefault = true, qualifiedByName = {"method3", "method4"})
public abstract MyDto toPartialDto(MyEntity entity);
@Named("method1")
@BeforeMapping
protected void setField1Data(@MappingTarget MyDto target, MyEntity entity) {
//some code
}
@Named("method2")
@AfterMapping
protected void updateDto(@MappingTarget MyDto target, MyEntity entity) {
//some code
}
@Named("method3")
@AfterMapping
protected void resolveOwn(@MappingTarget MyDto dto) {
//some code
}
@Named("method4")
@AfterMapping
protected void mapPartial(@MappingTarget MyDto target, MyEntity entity) {
//some code
}