我正在寻找Spring / camel的解决方案,以便在运行时使用多个REST服务,并创建表来存储来自REST API的数据并动态地比较数据。我事先不知道JSON API的模式,以生成JAVA客户端类,以便在运行时创建JPA持久化实体类。
答案 0 :(得分:0)
你需要以不同的方式思考。我忘记了你没有和不能创建的Java类POJO,因为事先不知道类结构。因此,任何使用POJO->实体绑定的东西都会毫无用处。
一种解决方案是使用基于事件的解析器(如SAX for XML)手动解析xml或json主体,并在浏览文档时简单地构建SQL创建字符串。您的字段和表名称将对应于文档中的标记。如果无法访问XSD或其他结构描述,则没有可用于字段长度或类型的元数据。让一切真的很长VARCHAR?也许XML或其他类型的数据库可能更好地适应您的问题域。在任何情况下,您都可以在Camel路径中包含这样的东西作为处理器,它将处理正文并创建必要的表(如果它们尚不存在)。当字段值超过当前定义的字段值时,您甚至可以在表格中更改表格的长度。