如何通过Dozer映射文件设置属性值?

时间:2011-11-20 06:58:19

标签: dozer

我正在使用Dozer映射。我有两个pojo1和pojo2。 pojo1值要映射到pojo2。 Pojo1有3个属性,Pojo2有4个属性。我可以将pojo1的3个属性映射到pojo2但是映射第四个属性我没有pojo1中的属性。为了映射第四个属性,我无法从pojo1获取值,直接我需要从Enum中获取值。请帮助我是否可以通过映射文件为任何属性赋值?

来自enum的

值不直接来自pojo1 第四个属性

谢谢!

1 个答案:

答案 0 :(得分:1)

据我所知,这不方便。执行此操作的唯一方法是使用自定义转换器,或修改其中一个POJO。

使用custom converter,您可以将pojo1.field3映射到pojo2.field4。转换器完全忽略pojo1.field3,只是将pojo2.field4设置为你的枚举值。

另一个解决方案是只修改pojo1并添加一个始终返回枚举值的field4。

第三个解决方案是修改pojo2,只需在默认构造函数中设置field4。如果您无法修改默认构造函数,则可以使用custom create methodcustom bean factory来实现相同的目标。

我一直在做推土机映射,并且想要一些更方便的解决方案。不幸的是,我不认为有任何自负。

让我知道它是如何为你服务的!