Domanda

cerco di sviluppare un'applicazione Java Plugin utilizzando il Java plug-quadro . Tutti i plugin avranno accesso a un database uniq utilizzando JPA (con EclipseLink).

Ma ogni plugin avrà lì proprio Enti.

Quindi non ho potuto dichiarare tutte le entità in un unico file persitence.xml nel plugin nucleo.

La domanda è: è possibile dichiarare classe entità al volo quando si dichiara l'EntityManagerFactory? Sono già utilizzando una mappa per ottenere stringa di connessione e utente / password da file di configurazione utente.

C'è un modo per fare lo stesso con Enti?

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);

Grazie per il vostro aiuto.

È stato utile?

Soluzione

Se la vostra unica preoccupazione non è non dichiarare i file di classe nella persistence.xml quindi è possibile utilizzare il rilevamento automatico funcionality.

Per EclipseLink aggiungere questo al persistence.xml

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

Ora tutto annotazione mappata con @Entity verrà acquisita automaticamente.

Altri suggerimenti

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top