如何使用Hibernate从JSON数据动态创建表

时间:2015-12-31 08:51:09

标签: java hibernate postgresql

我正在创建一个应用程序,我在其中从Jersey RESTServices接收JSON格式的数据。我需要使用JSON数据动态生成表,并且还希望将值存储在此表中。让我们假设我得到的数据为:

     { "fieldLists":
                     {"fields":[

                                {"name":"field_a","type":"any Java Type"},

                                {"name":"field_b","type":"any Java Type"}
                               ]
                     }
      }

现在我需要使用这个数据创建表。我遇到了如何在运行时创建类及其映射?

请建议哪种方法会更好?

2 个答案:

答案 0 :(得分:1)

ORM框架实际上并不是您需求的理想选择,主要是因为它们从未被设计为支持动态域模型。虽然您可以使用您选择的ORM框架的本机sql功能,但它实际上只是JDBC的包装。

使用JDBC,只需在创建表时根据JSON提供的数据构造CREATE TABLE DDL语句,然后在需要添加,更改或删除行时构造相应的语句。

答案 1 :(得分:0)

首先你需要创建类。 将它保存到某个位置。编译它并加载到内存。 将类添加到hibernate配置。

programmatically-compile-and-instantiate-a-java-class

create database in Hibernate at runtime