persistence.xml
在 Glassfish 应用程序服务器上运行应用程序时,覆盖 EclipseLink 属性的正确方法是什么?
我们需要在一个单独的配置文件中配置一些属性,该文件可供客户端使用。
我没有找到任何接受某些用户属性的特定于 EclipseLink 的类。我只找到了 Glassfish PersistenceUnitLoader 类,可以对其进行调整以实现这一目标。但这将是一个丑陋的黑客:)
persistence.xml
在 Glassfish 应用程序服务器上运行应用程序时,覆盖 EclipseLink 属性的正确方法是什么?
我们需要在一个单独的配置文件中配置一些属性,该文件可供客户端使用。
我没有找到任何接受某些用户属性的特定于 EclipseLink 的类。我只找到了 Glassfish PersistenceUnitLoader 类,可以对其进行调整以实现这一目标。但这将是一个丑陋的黑客:)
您可以在运行时创建自己的 EntityManager:
Map map = new HashMap();
map.put("javax.persistence.jdbc.password", "password");
map.put("javax.persistence.jdbc.user", "root");
EntityManagerFactory emf = Persistence.createEntityManagerFactory("MyPU",map);
EntityManager em = emf.createEntityManager(map);
一些 eclipselink 属性名称:
<property name="eclipselink.target-database" value="DERBY"/>
<property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
<property name="eclipselink.jdbc.driver" value="org.apache.derby.jdbc.ClientDriver"/>
<property name="eclipselink.jdbc.url" value="jdbc:derby://localhost:1527/02DB;create=true"/>
<property name="eclipselink.jdbc.user" value="user"/>
<property name="eclipselink.jdbc.password" value="password"/>