java - 是否可以找到所有可用的 EntityManager 属性?

标签 java api entitymanager

我需要使用具有不同属性的多个持久性单元(在我的例子中是 MySQL 和 Oracle 数据库)。在 persistence.xml 中,我定义了两个不同的“持久性单元”,并仅列出其中的实体类。

可以在 persistence.xml 中设置属性

<properties> <property name="..." value="..." /> ...

我在创建 EntityManager 之前在 java 类中执行此操作,因为我必须使用不同的属性(我之前读过):

        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,我需要动态设置架构(如果可能),而不是在每个实体类的 @Table 注释中硬编码。我想我还需要设置其他属性。所以我的问题是:有没有办法找到 EntityManager 的所有可用属性?

最佳答案

您可以在相应的 JSR 上找到标准 JPA 属性。对于 JPA 2.1 (JSR 338),您可以在文档的第 8.2.1.9 章中找到它们。您可以下载文档there .

对于特定于实现的属性,您可以在您使用的实现的文档中找到它们。对于 EclipseLink,这似乎是您正在使用的实现,您会找到它们 there .

关于java - 是否可以找到所有可用的 EntityManager 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34178886/

相关文章:

Java 或 Scala 插件框架

android - 上传 Google Drive API Retrofit 2

java - EntityManager 删除 - IllegalArgumentException : Unknown entity: java. lang.Integer] 根本原因

django - 具有多个值的 Tastypie 过滤

java - JPA 连接与 EntityManager 关闭

hibernate - JBoss AS 7 + Spring + JPA EntityManager 空指针异常

java - Spitter 不满足依赖异常 Spring MVC

java - 在 Jgroups 中向协调员发送消息时如何设置发件人地址

java - Json异常类型错误

ruby-on-rails - Rails4 rails-api 测试 : undefined session_serializer when testing auth via headers token