Java中的数据库驱动模型映射

时间:2015-12-30 16:55:53

标签: database spring hibernate mapping orika

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

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

然后我想要做一些数据库驱动的映射,我有一个源,一个字段,然后我想要的新字段或函数。因此,使用数据库驱动的工具,我可以修改数据库中的字段,并且一切都将继续工作。我总是可以创建一个前端来修改这个工具。

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

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

1 个答案:

答案 0 :(得分:0)

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

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

然后在你的" Canonical"之间定义你的班级地图。 Java类和这些动态的#34;类"

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不匹配)