【发布时间】:2020-07-07 03:36:07
【问题描述】:
我发现了很多关于这个的话题,但所有的解决方案在我看来都走错了方向。
那么...我如何在这种情况下使用 MapStruct 映射?
抽象类人:
public abstract class Person implements Serializable{
private String name;
private String somethingToIgnore
//Getter and Setter
}
普通的 Mapper 不起作用:
@Mapper(componentModel = 'cdi')
public interface PersonMapper{
@Mapping(target = 'somethingToIgnore', ignore = 'true')
Person toPerson(PersonDTO source);
@InheritInverseConfiguration
PersonDTO toPersonDtO(Person source);
}
我不允许映射抽象类。我应该使用工厂方法。我试过了,但我根本不知道这个工厂方法应该是什么样子......
我的尝试:
@Mapper
public interface PersonMapper {
PersonMapper INSTANCE = Mappers.getMapper( PersonMapper.class );
Person toPerson(PersonDTO source);
PersonDTO toPersonDtO(Person source);
}
@Mapper
public abstract class PersonMapper {
public static final PersonMapper INSTANCE = Mappers.getMapper( PersonMapper.class );
Person toPerson(PersonDTO source);
PersonDTO toPersonDtO(Person source);
}
我错过了什么,做错了什么? 提前致谢。
【问题讨论】:
标签: java mapping dto mapstruct java-ee-8