是否可以找到所有可用的 EntityManager 属性?
Is it possible to find all available EntityManager properties?
我需要使用具有不同属性的多个持久性单元(在我的例子中 MySQL 和 Oracle 数据库)。在 persistence.xml 中,我定义了两个不同的 "persistence-unit" 并仅列出实体 class。
可以在 persitence.xml 中使用
设置属性
<properties>
<property name="..." value="..." />
...
我在创建 EntityManager 之前在 java class 中执行此操作,因为我必须使用不同的属性(我之前阅读过):
EntityManagerFactory factory;
...
HashMap<String, String> dbProperties = new HashMap<String, String>();
dbProperties.put("javax.persistence.jdbc.driver", driver);
dbProperties.put("javax.persistence.jdbc.url", url);
dbProperties.put("javax.persistence.jdbc.user", user);
dbProperties.put("javax.persistence.jdbc.password", password);
dbProperties.put("eclipselink.ddl-generation", "none");
dbProperties.put("eclipselink.ddl-generation.output-mode", "database");
factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME, dbProperties);
EntityManager em = factory.createEntityManager();
...
对于 Oracle,我需要动态设置架构(如果可能),而不是在每个实体 class 的 @Table 注释中进行硬编码。而且我想我还需要设置其他属性。所以我的问题是:有没有办法找到 EntityManager 的所有可用属性?
我需要使用具有不同属性的多个持久性单元(在我的例子中 MySQL 和 Oracle 数据库)。在 persistence.xml 中,我定义了两个不同的 "persistence-unit" 并仅列出实体 class。
可以在 persitence.xml 中使用
设置属性<properties>
<property name="..." value="..." />
...
我在创建 EntityManager 之前在 java class 中执行此操作,因为我必须使用不同的属性(我之前阅读过):
EntityManagerFactory factory;
...
HashMap<String, String> dbProperties = new HashMap<String, String>();
dbProperties.put("javax.persistence.jdbc.driver", driver);
dbProperties.put("javax.persistence.jdbc.url", url);
dbProperties.put("javax.persistence.jdbc.user", user);
dbProperties.put("javax.persistence.jdbc.password", password);
dbProperties.put("eclipselink.ddl-generation", "none");
dbProperties.put("eclipselink.ddl-generation.output-mode", "database");
factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME, dbProperties);
EntityManager em = factory.createEntityManager();
...
对于 Oracle,我需要动态设置架构(如果可能),而不是在每个实体 class 的 @Table 注释中进行硬编码。而且我想我还需要设置其他属性。所以我的问题是:有没有办法找到 EntityManager 的所有可用属性?