是否可以为嵌套映射器指定限定符,而不必为特定类型的 bean 的每个实例指定限定符?一些代码来说明我的观点。我有一个父对象,例如:public class ParentDTO { ChildDTO childA; ChildDTO childB; ChildDTO childC; // getters, setters, etc.}我有一个包含多个映射的 ChildMapper:@Mapperpublic interface ChildMapper { @Named("MinimalChildMapper") @Mapping(target = "someAttribute", ignore = true) ChildDTO toMinimalChildDTO(Child child); @Named("ChildMapper") ChildDTO toChildDTO(Child child);}我知道我可以像这样为每个孩子指定哪个孩子映射器:@Mapper(uses = ChildMapper.class)public interface ParentMapper { @Mapping(target = "childA", qualifiedByName = "MinimalChildMapping") @Mapping(target = "childB", qualifiedByName = "MinimalChildMapping") @Mapping(target = "childC", qualifiedByName = "MinimalChildMapping") ParentDTO toParentDTO(Parent parent);}我想弄清楚的是,是否有某种方法可以使用类型( ChildDTO) 的每个 qualifiedByName 中指示的映射,而不必为类型的每个实例(childA、childB、childC)指定它。这可能吗?
1 回答
Cats萌萌
TA贡献1805条经验 获得超9个赞
目前这是不可能的。
但是,您可以做的是拥有 2 ChildMapper
(s)。这样你就可以在你的ParentMapper
. 另一种选择是在您的文件中定义最小映射,ParentMapper
而不是重用ChildMapper
.
添加回答
举报
0/150
提交
取消