繁体   English   中英

Orika映射无法正常工作

[英]Orika mapping is not working

我已经为对象HomeContentDTO和SubscriberUpsertDTO定义了映射

public class HomeContentDTO implements Serializable {

private static final long serialVersionUID = 1717544153530572470L;

private String fileName;
private String subscriberName;
private String subscriberEmail;
private String subscriberCompanyName;

public String getFileName() {
    return fileName;
}

public void setFileName(String fileName) {
    this.fileName = fileName;
}

public String getSubscriberName() {
    return subscriberName;
}

public void setSubscriberName(String subscriberName) {
    this.subscriberName = subscriberName;
}

public String getSubscriberEmail() {
    return subscriberEmail;
}

public void setSubscriberEmail(String subscriberEmail) {
    this.subscriberEmail = subscriberEmail;
}

public String getSubscriberCompanyName() {
    return subscriberCompanyName;
}

public void setSubscriberCompanyName(String subscriberCompanyName) {
    this.subscriberCompanyName = subscriberCompanyName;
}
}


public class SubscriberUpsertDTO implements Serializable{

    private static final long serialVersionUID = -6899387128123861532L;
    private Integer id;
    private String name;
    private String email;
    private String companyName;

    public Integer getId() {
    return id;
}

public void setId(Integer id) {
    this.id = id;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getEmail() {
    return email;
}

public void setEmail(String email) {
    this.email = email;
}

public String getCompanyName() {
    return companyName;
}

public void setCompanyName(String companyName) {
    this.companyName = companyName;
}

public boolean isActive() {
    return active;
}

public void setActive(boolean active) {
    this.active = active;
}
}

以下是两个对象的映射配置

public class HomeMapperRegister {
    @MapperRegister
    public void register(MapperFactory mapperFactory) {
         mapperFactory.classMap(HomeContentDTO.class, SubscriberUpsertDTO.class)
            .fieldAToB("subscriberName", "name")
            .fieldAToB("subscriberEmail", "email")
            .fieldAToB("subscriberCompanyName", "companyName")
            .register();
    }
}

来自HomeContentDTO的所有映射值都不会复制到SubscriberUpsertDTO。 有人知道原因吗?

SubscriberUpsertDTO subscriberUpsertDTO =     mapperFactory.getMapper().map(homeContentDTO, SubscriberUpsertDTO.class);
class HomeMapperRegister extends ConfigurableMapper {

    @Override
    public void configure(MapperFactory mapperFactory) {
        mapperFactory.classMap(HomeContentDTO.class, SubscriberUpsertDTO.class)
                .fieldAToB("subscriberName", "name")
                .fieldAToB("subscriberEmail", "email")
                .fieldAToB("subscriberCompanyName", "companyName")
                .register();
    }
}

ConfigurableMapperOverride configure功能extends到映射。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM