Frage

Ich versuche, eine Java-Plugin-Anwendung zu entwickeln mit dem Java Plugin-Framework . Alle Plugins werden Zugang zu einer einzigartigen Di Datenbank JPA (mit Eclipselink).

Aber jedes Plugin wird es eigene Entitäten haben.

So kann ich nicht alle Entitäten in einer einzigen Datei persitence.xml im Kern Plugin erklären.

Die Frage ist: ist es möglich, Entity-Klasse on the fly zu erklären, wenn die EntityManagerFactory erklären? Ich bin schon eine Karte mit zu Verbindungszeichenfolge und Benutzer / Passwort von Benutzerkonfigurationsdatei erhalten.

Gibt es eine Möglichkeit, das gleiche mit Entities zu tun?

Map<String, String> p = new HashMap<String, String>();
p.put("javax.persistence.jdbc.url", dns);
p.put("javax.persistence.jdbc.driver", "com.mysql.jdbc.Driver");
p.put("javax.persistence.jdbc.user", config.getProperty("com.cjrf.xbmo.db.username", ""));
p.put("javax.persistence.jdbc.password", config.getProperty("com.cjrf.xbmo.db.password", ""));
entityManagerFactory = Persistence.createEntityManagerFactory("mediamanager", p);

Danke für Ihre Hilfe.

War es hilfreich?

Lösung

If your only concern is not do declare the class files in the persistence.xml then you can use auto detect funcionality.

For eclipselink add this to persistence.xml

<exclude-unlisted-classes>false</exclude-unlisted-classes>

Now all annotation mapped with @Entity will be scanned automatically.

Andere Tipps

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top