Java MapStruct避免返回对象创建

Java MapStruct避免返回对象创建,java,mapstruct,Java,Mapstruct,我有两个模型和一个制图器 public class Form { private int x1; private int x2; private int x3; private int x4; // Constructor and getters setters ommited. } public class Domain { private int x1; private int x2; private int x3;

我有两个模型和一个制图器

public class Form {
    private int x1;
    private int x2;
    private int x3;
    private int x4;
    // Constructor and getters setters ommited.
}

public class Domain {
    private int x1;
    private int x2;
    private int x3;
    private int x4;
    // Constructor and getters setters ommited.
}

@Mapper
public interface DomainMapper {

    @Mappings({
        @Mapping(target = "x1", ignore = true),
        @Mapping(target = "x2", ignore = true)})
    Domain toDomain(Form form);
}
这是我的例子,

// I create a form object.
Form form = new Form();
form.setX1(1);
form.setX2(2);
form.setX3(3);
form.setX4(4);

// I create a Domain object.
Domain domain = new Domain();
domain.setX1(100);
domain.setX2(200);

// Map the form to domain.
domain = domainMapper.toDomain(form);
System.out.print(domain.getX1()); // => shows "0" instead of "100"
MapStruct正在生成源代码,其中创建了一个新的域对象。
运行最后一个命令
domain=DomainMapper.toDomain(form)我以前的域对象将丢失。是否有任何方法可以使用MapStruct将属性从表单对象传输到我已经创建的域对象?
我试过类似的方法,但不起作用

@Mapper
public interface DomainMapper {

    @Mappings({
        @Mapping(target = "x1", ignore = true),
        @Mapping(target = "x2", ignore = true)})
    Domain toDomain(Form form, Domain referenceToExistingObject);
}
我是这样用的,但没用

domainMapper.toDomain(form, domain);

我将设置为回答@seneque的评论。
我可以传递一个对象的引用,这样映射器就不会使用注释创建一个新的对象


void updateDomain(表单,@MappingTarget-Domain)它可以工作!非常感谢你!你救了我一天。
void updateDomain(Form form, @MappingTarget Domain domain)