# persistence.xml zur Laufzeit manipulieren



## Sneakizzel (15. Nov 2016)

Hallo zusammen,

ich möchte eine Pluginbasierte-Software schreiben.
Also ich habe ein Art PluginManager, dieser erkennt automatisch Plugins und kann diese Laden bzw. Ausführen (über Reflections).

Wenn ich nun ein HibernatePlugin schreibe, wird dies natürlich erkannt und geladen, aber entweder wird die persistence.xml nicht gefunden oder die einzelnen Entitäten sind dem Hibernate nicht bekannt.

Beispiel A
PluginManager.jar
|_____ HibernatePlugin.jar 
             |_____MetaInf mit persistence.xml
Fehler: persistence.xml wird nicht gefunden, da persistence.xml im PluginManager erwartet wird.

Beispiel B
PluginManager.jar
|_____MetaInf mit persistence.xml
|_____ HibernatePlugin.jar 
            |______Entity_1
Fehler Entity_1 ist nicht bekannt, da Hibernate nur das PluginManager.jar automatisch durchsuchen kann.

Weiss jemand nun eine Lösung für mein Problem?

Einzige Lösung die ich im Moment habe ist, dass ich nicht den PluginManager.jar zum starten der Software benutze, sondern ein Java-Klasse schreibe, welche den PluginManager startet.
Wenn ich diese nicht in ein jar-File packe, kann ich zur Laufzeit die persistence.xml (die ja nun bei der Java-Klasse liegt) um die unbekannten Entitäten  erweitern. Ich hätte es eigentlich gern schicker, habe aber bis jetzt keinen Lösungsansatz gefunden, da ich kein Spring, Maven oder ähnliches nutze, meine jars:

Danke schonmal für Eure Ideen & Beiträge


----------

