0

所以,我有一个项目,我从十几个不同的来源获取数据,其中一些是数据库对象,大多数数据是不同的 JSON 格式,或者通常是 XML 格式。因此,我需要获取这些不同的数据并将其拉入我们控制的一个干净的托管对象中。

我已经看过几十篇关于各种工具的不同帖子来进行对象到对象的映射。Orika 就是其中之一,等等。但问题是 Orika 和其中许多一样仍然需要定义实体类来进行映射。如果映射发生更改,那么我必须更改我的类,重新提交它,然后构建并部署新代码......顺便说一句,测试也必须像任何代码更改一样进行。所以,也许其中一些工具对我来说不是一个很好的解决方案。

然后我想做某种数据库驱动的映射,我有一个源、一个字段,然后是我想把它带到的新字段或函数。因此,使用数据库驱动的工具,我可以修改数据库中的字段,并且一切都会继续正常工作。我总是可以创建一个前端来修改这个工具。

所以,有了那个......我问是否有任何数据库驱动的工具可以将字段映射到字段,或字段映射到函数类型的映射?Drools是我的首选,但不知道是不是我最好的选择?也许这对我的需求来说太过分了?所以,我一直在寻找关于什么可能是进行映射的最佳工具的建议。

如果您需要我提供更多信息,请告诉我,感谢您的帮助!

4

1 回答 1

0

实际上 Orika 可以处理这样的动态数据源,甚至还有一个关于如何从 XML 元素(DOM API)甚至 JsonObject 转换的示例。

您可以使用 XML 解析器将数据转换为 Element 对象,或者使用 Jackson 来获取 JsonObject

然后在“规范”Java 类和这些动态“类”之间定义类映射

http://orika-mapper.github.io/orika-docs/advanced-mappings.html自定义 PropertyResolverStrategy

这是 Orika 映射到 MongoDB DBObject 到 Java Bean 的示例 https://gist.github.com/elaatifi/ade7321a1405c61ff8a9

但是转换 JSON 比 XML 更直接(Attributes/Childs/Custom 标签的语义与 JavaBeans 不匹配)

于 2016-01-07T22:24:16.593 回答