Java 在SpringDataJPA中,如何在运行时添加实体?

Java 在SpringDataJPA中,如何在运行时添加实体?,java,spring,jpa,runtime,entity,Java,Spring,Jpa,Runtime,Entity,在我的业务中,我将为MySQL动态创建模型和存储库。 我已经成功地创建了java文件并编写了它。然后使用beanfactory为存储库和服务注册bean。 但我不知道如何映射实体。我搜索了一些类似的问题,但没有一个干净的解决方案。 有人能帮我看一些代码示例吗?JPA主要使用静态模式。这有很好的理由,请参见www.java.net/node/666078上的讨论 我只知道3种解决方案: 1) 将域模型重构/更改为静态(最好的方法是,但在某些实际情况下,您确实需要至少1或2个动态表) 2) 对动态表

在我的业务中,我将为MySQL动态创建模型和存储库。 我已经成功地创建了java文件并编写了它。然后使用beanfactory为存储库和服务注册bean。 但我不知道如何映射实体。我搜索了一些类似的问题,但没有一个干净的解决方案。
有人能帮我看一些代码示例吗?

JPA主要使用静态模式。这有很好的理由,请参见www.java.net/node/666078上的讨论

我只知道3种解决方案:

1) 将域模型重构/更改为静态(最好的方法是,但在某些实际情况下,您确实需要至少1或2个动态表)

2) 对动态表使用本机查询和@SqlResultSetMapping(这是我在这种特殊情况下使用的解决方案)


3) 使用Jpa提供程序非可移植的特定方式(实际上不是Jpa)例如,请参见

您是否确定您的用例需要在运行时动态添加新实体(并更改数据库模式)。我假设您正在尝试构建一个与关系数据库不匹配的设计。是的,这就是要求。我需要同时支持NoSQL和RDBMSThanks以获得回复。(2)是否支持动态创建表?是。例如,通过em.createNativeQuery(“创建表格样本表格(某些ID不为NULL)”).executeUpdate();稍后使用ALTERTABLE。。。