【问题标题】:Mapping encapsulated complex types with JMapper使用 JMapper 映射封装的复杂类型
【发布时间】:2018-07-16 08:49:33
【问题描述】:

我正在尝试使用 JMapper 映射两个结构,但在处理两个封装的复杂类型以及如何映射它们时遇到了困难。我想实现以下目标:

来源>目的地

Source.sourceString > Destination.destinationString

Source.SourceInternal > Destination.DestinationInternal

Source.SourceInternal.internalString2 > Destination.DestinationInternal.internalString

我的课程如下所示:

public class Source {

    private String sourceString;
    private SourceInternal sourceInternal;

    public String getSourceString() {
        return sourceString;
    }

    public void setSourceString(final String sourceString) {
        this.sourceString = sourceString;
    }

    public SourceInternal getSourceInternal() {
        return sourceInternal;
    }

    public void setSourceInternal(final SourceInternal sourceInternal) {
        this.sourceInternal = sourceInternal;
    }

}

内部源对象

public class SourceInternal {

    private String internalString1;
    private String internalString2;

    public String getInternalString1() {
        return internalString1;
    }

    public void setInternalString1(final String internalString1) {
        this.internalString1 = internalString1;
    }

    public String getInternalString2() {
        return internalString2;
    }

    public void setInternalString2(final String internalString2) {
        this.internalString2 = internalString2;
    }

}

源应映射到的目标

public class Destination {

    private String destinationString;
    private DestinationInternal destinationInternal;

    public String getDestinationString() {
        return destinationString;
    }

    public void setDestinationString(final String destinationString) {
        this.destinationString = destinationString;
    }

    public DestinationInternal getDestinationInternal() {
        return destinationInternal;
    }

    public void setDestinationInternal(final DestinationInternal destinationInternal) {
        this.destinationInternal = destinationInternal;
    }

}

内部目标对象。

public class DestinationInternal {

    private String internalString;

    public String getInternalString() {
        return internalString;
    }

    public void setInternalString(final String internalString) {
        this.internalString = internalString;
    }

}

我将如何获得所描述的映射? JMapper甚至可以吗?谢谢。

【问题讨论】:

    标签: java mapping object-object-mapping


    【解决方案1】:

    我也在研究类似的功能。以下是我的管理方法。

            JMapperAPI jMapperAPI = new JMapperAPI()
                .add(mappedClass(Destination.class)
                        .add(attribute("destinationString").value("sourceString"))
                        .add(attribute("destinationInternal").value("sourceInternal")))
                .add(mappedClass(DestinationInternal.class).add(attribute("internalString").value("internalString1").targetClasses(SourceInternal.class)));
    

    基本上,逻辑是为每个嵌套类都有一个映射。

    【讨论】:

      猜你喜欢
      • 2022-01-12
      • 2014-02-03
      • 1970-01-01
      • 2016-08-04
      • 1970-01-01
      • 2015-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多