0

persistence.xmlGlassfishアプリケーションサーバーでアプリケーションを実行するときにEclipseLinkプロパティをオーバーライドする適切な方法は何ですか?

クライアントが利用できる別の構成ファイルでいくつかのプロパティを構成する必要があります。

一部のユーザー プロパティを受け入れる EclipseLink 固有のクラスは見つかりませんでした。それを達成するために微調整できる Glassfish PersistenceUnitLoader クラスしか見つかりませんでした。しかし、これは醜いハックになります:)

4

1 に答える 1

3

実行時に独自の 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"/>
于 2013-02-15T11:57:48.447 に答える