我的任务是创建从 xml 到 db 的转换器(Oracle 11)。
我有很多(大约 100 个)客户提供的 xsd。每个 xsd 都描述了非常复杂的数据。有些 xsd 有通用类型,但每个 xsd 都声明了里面的所有类型,所以没有通用类型的 xsd。
未提供 DB 模型。但是客户端拒绝了基于使用 oracle xmldb 的变体。
我的计划是:
- 使用 xmlspy 生成 db 模型;
- 使用 jaxb 生成 java 模型;
- 使用 hibernate 将 java 映射到 db 模型;
- 使用 jaxb 读取 xml 数据到 java 模型;
- 使用休眠存储数据。
但是当我尝试生成 db 模块时,我看到 xmlspy 生成了超过 5000 个表。即使我可以减少它们的数量,仍然有太多的工作来验证和修复表之间生成的关系。还有很多工作来生成 java 模型并将其映射到数据库。
有没有其他方法可以解决我的问题?