如何将 mapstruct 与具有两个参数的源一起使用?

How to use mapstruct with a source that has two parameters?

似乎 mapstruct 只需要一个参数就可以与 source 一起工作。如果设置 "source = {"id","name"} " 时我会出错。怎么解决的?

 @Mapping(source = {"id","name"}, target = "person", qualifiedByName = "toPerson")
 public MainData toEntity(InfoDTO dto);
 
    @Named("toPerson")
    public Person toPerson(Long id, String name) {
        //some to do
    }

我的实体:

MyData{
Person person;
}

InfoDTO{
Long id;
String name;
}

可以这样做:

@Mapper(componentModel = "spring")
public interface PersonMapper {

    @Mapping(expression = "java(toPerson(dto))", target = "person")
    MyData toEntity(InfoDto dto);

    default Person toPerson(InfoDto dto) {
        return new Person(dto.getId(),dto.getName());
    }

}