Java 如何基于表头生成pojo类?

Java 如何基于表头生成pojo类?,java,spring,mongodb,pojo,Java,Spring,Mongodb,Pojo,我有一个可以自定义的表,比如表的标题也是可以更改的,可以在表中添加行和列。根据该表动态创建一个pojo类,这些字段在运行时基于这些表头,以便我可以将其保存到数据库(mongodb) 我正在寻找这个,但什么也没有得到。 就像我有一个带有这些标题的表 |名称|卷号|类别| 这些标题的名称是可自定义的。因此,pojo类应该在运行时生成。 像 如果表的标题已更改,则pojo类也应更改。您的要求是保留动态记录。有些可能有某些属性,有些可能没有,对吗 不能动态创建pojo,但可以更改数据结构的维度(将表列转

我有一个可以自定义的表,比如表的标题也是可以更改的,可以在表中添加行和列。根据该表动态创建一个pojo类,这些字段在运行时基于这些表头,以便我可以将其保存到数据库(mongodb)

我正在寻找这个,但什么也没有得到。 就像我有一个带有这些标题的表

|名称|卷号|类别|

这些标题的名称是可自定义的。因此,pojo类应该在运行时生成。 像


如果表的标题已更改,则pojo类也应更改。

您的要求是保留动态记录。有些可能有某些属性,有些可能没有,对吗

不能动态创建pojo,但可以更改数据结构的维度(将表列转换为行,因为只有行可以是动态的)


通过这种方式,您可以创建一个动态字段并保留在“字段”中,然后在“StudentField”中与学生动态映射创建的字段。

您的要求是保留动态记录。有些可能有某些属性,有些可能没有,对吗

不能动态创建pojo,但可以更改数据结构的维度(将表列转换为行,因为只有行可以是动态的)


通过这种方式,您可以创建一个动态字段并保留在“字段”中,然后将创建的字段与“StudentField”中的学生动态映射。

我用于可变列名的一个解决方案是按如下方式重新构造我的集合:

{
  [
    {
      "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”。

我用于可变列名的一个解决方案是按如下方式重新构造我的集合:

{
  [
    {
      "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”。

它被称为
mapping
阅读有关对象关系映射的更多信息。对不起。但我已经改变了我的问题,在你的情况下,POJO的目的是什么。如果要使其通用,请在此元数据读取器上读取Tabel元数据并编写实用程序类,方法与ORM相同,如保存、读取、删除、查找(如果需要)。如何在没有模式的情况下保存表数据?称为
映射
阅读有关对象关系映射的详细信息。抱歉。但我已经改变了我的问题,在你的情况下,POJO的目的是什么。如果您想使其成为通用的,请在此元数据读取器上读取Tabel元数据并编写实用程序类,方法与ORM相同,如save、read、delete、finder(如果需要)。如何在没有模式的情况下保存表数据?
{
  [
    {
      "name": "my-name",
      "datatype": "my-datatype",
      "display-name": "column-name1",
      "value":"value"
    },  
    {
      "name": "my-name2",
      "datatype": "my-datatype2",
      "display-name": "column-name2",
      "value":"value2"
    }
  ],
  [ ... ]
}