访问JPA类映射

访问JPA类映射,jpa,schema,metamodel,Jpa,Schema,Metamodel,在springsource中找到一篇描述如何在运行时操作架构名称的文章 我们使用的是纯jpa,但是我们使用的是LocalContainerEntityManagerFactory,无法访问会话或配置实例 有人能提供关于如何在运行时(通过entitymanager)访问元数据以允许修改模式的见解吗 谢谢您不能使用标准JPA(这是您的问题所要求的);它不允许动态定义元数据,只允许通过其元模型API查看(数量有限的)指定元数据。您必须深入研究具体的实现细节以获得更进一步的信息,但此时您的可移植性将面

在springsource中找到一篇描述如何在运行时操作架构名称的文章

我们使用的是纯jpa,但是我们使用的是LocalContainerEntityManagerFactory,无法访问会话或配置实例

有人能提供关于如何在运行时(通过entitymanager)访问元数据以允许修改模式的见解吗


谢谢

您不能使用标准JPA(这是您的问题所要求的);它不允许动态定义元数据,只允许通过其元模型API查看(数量有限的)指定元数据。您必须深入研究具体的实现细节以获得更进一步的信息,但此时您的可移植性将面临困境,这不是一件好事


另一方面,确实允许您使用标准化API动态定义元数据(从而定义模式)。

在运行时更改元数据是特定于JPA提供商的。JPA允许您在创建EntityManagerFactory或EntityManager时传递提供者特定属性的映射。JPA还允许您将EntityManager()展开为特定于提供程序的实现

如果您使用的是EclipseLink,则可以在会话登录时使用setTableQualifier()API设置模式