Jetzt bin ich EntityManagerFactory
wie folgt zu erstellen:erstellen EntityManagerFactory programmatisch (ohne persistence.xml-Datei) mit kommentierten Klassen
Map<String, String> properties = ImmutableMap.<String, String>builder()
.put(DRIVER, "com.mysql.jdbc.Driver")
.put(DIALECT, "org.hibernate.dialect.MySQL5Dialect");
.put(USER, dbUsername)
.put(PASS, dbPassword)
.put(URL, dbConnectionUrl)
//Some more properties
.build();
Ejb3Configuration cfg = new Ejb3Configuration();
cfg.configure(properties);
cfg.addAnnotatedClass(AuditEntry.class);
cfg.addAnnotatedClass(LastWrittenEventId.class);
//Some more annotated classes
return cfg.createEntityManagerFactory();
Doch als ich in javadocs sehen kann, Ejb3Configuration
veraltet und ich soll es nicht verwenden. Ich sollte Persistence.createEntityManagerFactory()
nach JPA spec Abschnitt 7.3 verwenden. Aber dann kann ich nur einige Eigenschaften übergeben, aber kann ich irgendwie annotierte Klassen hinzufügen?
Ich denke, dieser Beitrag könnte Ihnen helfen http://stackoverflow.com/questions/8448950/adding-entity-classes-dynamically-at-runtime –