//Есть сущность
public class MyObject {
public Word word; // имеет множество переводов, содержит в себе
}
//и необходимо смапить в сущность с переводом
public class MyObjectDto {
public String wordValue; // имеет множество переводов, содержит в себе
}
@Component
public class CustomMapper {
public String converterMapper(Word word, Language lang)
}
@Mapper(componentModel = "spring", uses = CustomMapper.class)
public interface MyObjectMapper {
//И почему не всегда @Autowired CustomMapper из-за этого не могу использовать expression
@Mappings({
@Mapping(source = "word", target = "wordValue", qualifiedBy=(CustomMapper.class???)) //как передать параметр
});
MyObjectDto map(MyObject mo);
MyObject map(MyObjectDto myObjectDto);
}
@Mapper(componentModel = "spring", uses = CustomMapper.class)
public interface MyObjectMapper {
@Mappings({
@Mapping(target = "field", expression = "java(customMapper.convert(obj.field, lang))"
})
DTO map(Entity obj, Language lang);
}
componentModel = "spring"
, но и удалить поле имеющее INSTANCE, иначе @Autowired не будет подставлять реализацию....
CarMapper INSTANCE = Mappers.getMapper( CarMapper.class );
...