当前位置: 首页 > 知识库问答 >
问题:

动态生成POJO(对象模型;setters和getters)和Hibernate映射,当仅提供表名作为参数时

桂智志
2023-03-14

我的问题有点棘手,我在尽力让你明白我的要求是什么。

场景:当在运行时提供表名时,方法需要生成它的csv文件(表名可以是数据库中任何可用的表),而为了完成这一任务,类需要动态生成POJO和hibernate映射,因为不同表中的颜色不同,我们无法自定义POJO(对象模型)和hibernate映射。

tablename是在运行时提供的,因此该方法需要在运行时生成POJO和hibernate映射。

共有1个答案

澹台庆
2023-03-14

这是不可能的。Hibernate在启动时需要一组定义良好的实体类及其映射。但实际上,如果您在表级工作,并且只需要CSV文件中的表的所有列,那么Hibernate就不是合适的工具。您应该只使用JDBC。

从表中选择所有内容,获取结果集元数据以了解列的编号、类型和名称,迭代JDBC结果集,并为结果集的每一行生成一个新的CSV行。

 类似资料:
  • 我正在spring boot创建我的API。我认为一个产品是由以下部件组成的: 这里是我的代码:(实体层) } 下面是我的Controller类: } 我的问题: 在实体类“Product”中,对于类型为List的productComponents变量,getter和setter应该如上面所述,还是应该如下所示: 并将controller类中的update方法更改为: 还是有更好的解决方案?

  • 问题内容: 我正在执行我的Maven构建,它将引发此异常: 我这样映射: 我正在使用InnoDB创建列,如下所示: 这样不行吗 为什么说他正在寻找tinyint? 问题答案: 将@Basic用于基本整数。您始终可以尝试将您的ID声明为Long。我通常总是使用Long作为我的ID。请参阅映射标识符属性:

  • 我在使用FasterXML生成JSON模式文件时遇到问题。文件输出刚刚显示 地图类型

  • 我对Lombok和JSTL如何处理getters和setters有点困惑。我有以下@data类: 并且我可以访问.jsp中的私有布尔值,如下所示: 同时我也可以将私有布尔值声明为 并以相同的方式在JSTL中访问它。但是,以下代码将引发PropertyNotFoundException: 谁能澄清一下我在同时使用JSTL和Lombok时应该使用什么命名约定吗?提前道谢!

  • 我有jaxb生成的数据结构。部分结构基本相同,但它们位于不同的名称空间中,因此生成的Java类型不同。 我需要在这些结构之间传输数据。在项目中,ModelMapper用于映射,所以我希望使用它。 我的问题是ModelMapper无法映射为'maxOccurs="unb界"元素生成的列表。 假设我有以下模式: 我在namespacea和namespaceb中都有这个模式,因此Jaxb将以下类型生成到