我有可以自定义的表,就像表头也可以更改一样,可以在表中添加行和列。根据该表动态创建一个pojo类,并且字段在运行时基于这些表头,因此我可以将其保存到database(mongodb)。
我正在搜索此消息,却什么也没得到。 就像我有一个带有这些标题的表。
|姓名|卷数|类|
这些标题的名称是可自定义的。因此,应该在运行时生成pojo类。 喜欢
class Student
{
private name;
private rollnumber;
private class;
//getter and setter
}
如果表头更改了,那么pojo类也应该更改。
答案 0 :(得分:0)
您的要求是保留动态记录。有些可能具有某些属性,有些可能没有,那是正确的吗?
您不能动态创建pojo,但是可以更改数据结构的尺寸(将表列转换为行,因为只有行才能动态显示)
class Student {
private String name;
private String rollnumber;
private String class;
// Getters & Setters for the static fields
}
class Field {
private String fieldName;
private String dataType; // Can enhance using an enum
// Getters & Setters
}
class StudentField {
private Student student;
private Field field;
private String value;
// Getters & Setters
}
这样,您可以创建一个动态字段并保留在“字段”中,然后在“学生字段”中与学生动态映射创建的字段。
答案 1 :(得分:0)
我用于可变列名的一种解决方案是像这样重组我的集合:
{
[
{
"name": "my-name",
"datatype": "my-datatype",
"display-name": "column-name1",
"value":"value"
},
{
"name": "my-name2",
"datatype": "my-datatype2",
"display-name": "column-name2",
"value":"value2"
}
],
[ ... ]
}
显示名称当然可以更改,但是名称不能更改。 然后,您可以使用这四个字段进行“通用pojo”操作。