专有数据库中的Java实体类?

时间:2015-06-28 10:44:01

标签: java json entity-framework netbeans

朋友我有一个数据库,它以JSON格式维护模式文件,但它不支持JDBC连接,因此我不能使用现有的netbeans功能"来自数据库的实体类" 这个专有数据库为我提供了以下表格模式

{
"uid":{
  "auto-define":"none",
  "name":"uid",
  "index":"unique",
  "type":{
     "length":-1,
     "type":"STRING"
  }
},
"createdAt":{
  "auto-define":"none",
  "name":"createdAt",
  "index":"none",
  "type":{
     "type":"LONG"
  }
},
"lastLogin":{
  "auto-define":"none",
  "name":"lastLogin",
  "index":"none",
  "type":{
     "type":"LONG"
  }
},
"password":{
  "auto-define":"none",
  "name":"password",
  "index":"none",
  "type":{
     "length":-1,
     "type":"STRING"
  }
},
"blocked":{
  "auto-define":"none",
  "name":"blocked",
  "index":"none",
  "type":{
     "type":"BOOLEAN"
  }
},
"replication-type":"distributed",
"replication-factor":1,
"email":{
  "auto-define":"none",
  "name":"email",
  "index":"btree",
  "type":{
     "length":-1,
     "type":"STRING"
  }
},
"primary":"uid",
"network":{
  "auto-define":"none",
  "name":"network",
  "index":"none",
  "type":{
     "length":-1,
     "type":"STRING"
  }
 }
}

所以从上面的模式(JSON)我希望实体类像

@Entity
public class User extends CloudStorage {
    @Primary
    private String id;
    private String name;
    private String email;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

请帮助我,我想开发一个NetBeans插件,它将获取所有表模式(JSON),并能够选择表并生成实体类。

1 个答案:

答案 0 :(得分:0)

  

我只想要一个实用程序,我可以将我的表(JSON)模式转换为java实体类。如何通过将JSON字符串作为输入生成POJO?

如果有一个现成的解决方案完全你想要什么,我会感到惊讶。 (当然不是一个需要一些未命名/未指定的专有数据库JSON作为输入......)

这是一个自己实现实用程序的想法。 (可能还有其他人......但是我会把他们的任务留给别人。)

"jsonschema2pojo"工具将从JSON模式生成Java POJO源代码。但是,您的输入不是有效的JSON架构。因此,找出从数据库JSON到常规JSON模式(即基于http://json-schema.org的模式)的映射,然后:

  1. 编写一个将JSON转换为JSON模式的转换器。

  2. 使用jsonschema2pojo(embedded)读取JSON模式并生成POJO源代码。

  3. 实际上,您可以通过修改jsonschema2pojo来将两个步骤合并为一个,以便在运行中将模式转换为模式转换。