# JPA persistence.xml auslagern/extern Zugriff



## QDog (22. Mai 2008)

Hallo,

ich habe ein relativ dringendes Problem. Leider ist mir erst jetzt aufgefallen, dass im finalen Programm, dass als jar ausgeliefert werden soll, es nicht mehr möglich ist, das persistence.xml fle innerhalb Java zu editieren, da es ja quasi mit einkomprimiert ist. Ich muss es noch ändern können, da es im Program möglich ist, die Datenbank zu ändern.
Ist es möglich, z.B. über die manifest Datei zu regeln, wo die persistence.xml liegt? Oder der komplette META-INF Ordner? Oder kann ich in der persistence.cml irgndwie eine andere externe xml inkludieren, die dann editierbar ist?

Abgabe ist leider schon morgen ;-)


----------



## semi (22. Mai 2008)

Du kannst bestimmte Properties aus persistence.xml überschreiben bzw. in persistence.xml darauf verzichten
und zur Laufzeit beim Instanziieren von EntityManagerFactory übergeben.
z.B.
	
	
	
	





```
Map<String, String> map = new HashMap<String, String>();
map.put("hibernate.connection.url", "jdbc:h2:tcp://woauchimmer/h2db");
emf = Persistence.createEntityManagerFactory("deine_persistence_unit", map);
```


----------



## QDog (23. Mai 2008)

Vielen Dank, das hat mir wirklich geholfen. Musste zwarnoch mal einiges grundlegend ändern, aber nun läufts perfekt, danke


----------

