使用Dozer的复杂POJO映射

时间:2018-03-09 08:00:55

标签: java xml mapping pojo dozer

我是Dozer的新手,并且使用Dozer xml mapping完成了从一个POJO到另一个POJO的平面映射。但是现在我想要绘制下面给出的复杂POJO,我很想知道怎么做。

    // -----------------------Source Classes-----------------------------

    public class Source{

    public String sourceId;
    public Product product;
    public List<Item> items;
}


public class Product{
    public Integer productId;
    public String productName;
}

public class Item{
    public Integer id;
    public Integer qty;
    public String desc;
}

  // -----------------------Destination Classes-------------------
public class Destination{

    public String destId;
    public DestProduct destProduct;
    public List<DestItem> destItems;
}

public class DestProduct{
    public Integer nProductId;
    public String sProductName;
}

public class DestItem{
    public Integer nId;
    public Integer nQty;
    public String sDesc;
}

如何告诉Dozer将Source映射到Destination?

1 个答案:

答案 0 :(得分:0)

您应该检查Dozer文档。它拥有您映射课程所需的一切。

我认为您主要担心以下映射:

<强> 1。映射自定义对象字段和包装类字段:

检查推土机文档中的基本属性映射。 Dozer映射引擎自动执行许多数据类型覆盖。请查看以下链接以获取更多信息。 http://dozer.sourceforge.net/documentation/simpleproperty.html

<强> 2。列出包含自定义对象映射的字段:

以下链接对此进行了解释: http://dozer.sourceforge.net/documentation/collectionandarraymapping.html#

对于不支持开箱即用功能的情况,您还可以编写自定义转换器: http://dozer.sourceforge.net/documentation/customconverter.html

此外,在项目中实现跳转之前,首先编写简单的独立程序来理解/测试特定的映射是有帮助的。