我有一个像这样的映射器:
Cat toAnotherCat(Cat origin);
我需要另一个像这样的映射器(CatsHouse
有一个属性:Cat oneOfCats;
):
CatsHouse toNewCatsHouse(CatsHouse catsHouse)
当我运行 Maven 构建时,在 toNewCatsHouse 实现中我看到
newCatHouse.setOneOfCats(toAnotherCat(catsHouse.getOneOfCats()))
但是我需要
newCatHouse.setOneOfCats(catsHouse.getOneOfCats())
而不是这个
我怎样才能得到它?如何禁止自动使用toAnotherCat?
我找到了解决方案:使用 MappingControl.Use.DIRECT 我创建一个注释:
@Retention(RetentionPolicy.CLASS)
@MappingControl( MappingControl.Use.DIRECT )
public @interface DirectMappingControl {
}
并在 toNewCatsHouse 上使用: @Mapping(目标=“oneOfCats”,mappingControl=DirectMappingControl.class)