我是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?
答案 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
此外,在项目中实现跳转之前,首先编写简单的独立程序来理解/测试特定的映射是有帮助的。