3

我正在使用 JPA 并且我使用实体 XML 映射文件来配置我的持久层另一方面我在 Oracle 数据库中有多个数据库模式

在持久性配置中,我只想拥有一个 EntityManagerFactory,实际上我想与只有一个模式(USER)的数据库建立连接。

静态地,我可以在映射文件中为我的实体一一指定架构名称,如下所示:

<entity class="package.MyClass" name="MyClass">
<table name="MYTABLE"  schema="mySchema"/> 

我在这个项目中的持久性提供者是:org.hibernate.ejb.HibernatePersistence

我想使用占位符来指定架构并在 JPA 扫描映射文件以配置自身时替换它。

<entity class="package.MyClass" name="MyClass">
<table name="MYTABLE"  schema="@placeholder"/>

在配置时替换@placeholder为 mySchema

  1. 无论如何要这样做吗?
  2. JPA 中的哪个部分(类)扫描 XML 映射文件,我可以自定义该类来为我替换吗?
4

1 回答 1

1

I think you can use the bootstrap procedure to access the EntityManagerFactory and the EntityManager at runtime to override the properties.

于 2013-09-21T08:19:20.937 回答