0

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

直接来自枚举的值不是来自 pojo1 第四个属性

谢谢!

4

1 回答 1

1

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

使用自定义转换器,您只需将 pojo1.field3 映射到 pojo2.field4。转换器完全忽略 pojo1.field3,只是将 pojo2.field4 设置为您的枚举值。

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

而第三种方案是修改pojo2,在默认构造函数中设置field4即可。如果不能修改默认构造函数,可以使用自定义的 create 方法自定义的 bean factory来实现。

我一直在做推土机映射,并且也想要一些更方便的解决方案。不幸的是,我认为没有自动取款机。

让我知道它是如何为你工作的!

于 2011-11-23T12:44:54.177 回答