0

我需要将一个对象转换为另一个对象。该对象嵌套了许多内部对象。但是源对象和目标对象在数据类型、变量名、类名等方面都是相同的。是否有任何有效的工具可以减少编码。

我已经尝试过 orika 但它期望定义如下

factory.registerClassMap(factory
                .classMap

包含所有字段和内部对象字段。我最终得到了很多迭代器和设置字段映射。

帮助我或指导我有没有其他方法可以将对象映射到相同的对象。

4

2 回答 2

0

最好使用适当的克隆库,检查这个http://blog.jadira.co.uk/blog/2013/6/25/announcing-jadira-cloning.html

于 2016-06-07T13:11:57.000 回答
0

你可以看看MapStruct

另一种选择是推土机。通过在映射器 xml 文件中定义属性,可以一对一地映射类wildcard="true"。这意味着它将自动尝试映射两个对象中的每个属性。当属性设置为 false 时,它​​只会映射明确定义的字段。

<?xml version="1.0" encoding="UTF-8"?>
<mappings xmlns="http://dozer.sourceforge.net"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://dozer.sourceforge.net
          http://dozer.sourceforge.net/schema/beanmapping.xsd">

    <mapping wildcard="true"> 
        <class-a>org.example.ObjectA</class-a>
        <class-b>org.example.ObjectB</class-b>   
    </mapping> 
</mappings>
于 2016-06-07T06:48:43.203 回答