【发布时间】:2012-11-01 23:27:14
【问题描述】:
我的任务是创建从 xml 到 db (Oracle 11) 的转换器。
我有很多(大约 100 个)客户提供的 xsd。每个 xsd 都描述了非常复杂的数据。有些xsd有通用类型,但是每个xsd里面都声明了所有类型,所以没有通用类型的xsd。
未提供数据库模型。但是客户端拒绝了基于使用 oracle xmldb 的变体。
我的计划是:
- 使用xmlspy生成数据库模型;
- 使用 jaxb 生成 java 模型;
- 使用 hibernate 将 java 映射到 db 模型;
- 使用jaxb读取xml数据到java模型;
- 使用休眠存储数据。
但是当我尝试生成 db 模块时,我看到 xmlspy 生成了超过 5000 个表。即使我可以减少它们的数量,仍然有太多的工作来验证和修复表之间生成的关系。还有很多工作来生成 java 模型并将其映射到数据库。
还有其他方法可以解决我的问题吗?
【问题讨论】:
-
为什么有 100 个模式?这些在功能上是否相关?为什么要将数据存储在数据库中?数据存入DB后如何使用?
-
架构描述了不同类型的财务报告。数据形式xml将提供给BI系统。在数据库中存储数据是客户的要求。
标签: xml database oracle xsd mapping