朋友我有一个数据库,它以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),并能够选择表并生成实体类。
答案 0 :(得分:0)
我只想要一个实用程序,我可以将我的表(JSON)模式转换为java实体类。如何通过将JSON字符串作为输入生成POJO?
如果有一个现成的解决方案完全你想要什么,我会感到惊讶。 (当然不是一个需要一些未命名/未指定的专有数据库JSON作为输入......)
这是一个自己实现实用程序的想法。 (可能还有其他人......但是我会把他们的任务留给别人。)
"jsonschema2pojo"工具将从JSON模式生成Java POJO源代码。但是,您的输入不是有效的JSON架构。因此,找出从数据库JSON到常规JSON模式(即基于http://json-schema.org的模式)的映射,然后:
编写一个将JSON转换为JSON模式的转换器。
使用jsonschema2pojo(embedded)读取JSON模式并生成POJO源代码。
实际上,您可以通过修改jsonschema2pojo来将两个步骤合并为一个,以便在运行中将模式转换为模式转换。