Programmatic SchemaExport / SchemaUpdate mit Hibernate 5 und Spring 4
it Spring 4 und Hibernate 4 konnte ich Reflection verwenden, um das Objekt "Hibernate Configuration" mit folgendem Code aus der aktuellen Umgebung abzurufen:
@Autowired LocalContainerEntityManagerFactoryBean lcemfb;
EntityManagerFactoryImpl emf = (EntityManagerFactoryImpl) lcemfb.getNativeEntityManagerFactory();
SessionFactoryImpl sf = emf.getSessionFactory();
SessionFactoryServiceRegistryImpl serviceRegistry = (SessionFactoryServiceRegistryImpl) sf.getServiceRegistry();
Configuration cfg = null;
try {
Field field = SessionFactoryServiceRegistryImpl.class.getDeclaredField("configuration");
field.setAccessible(true);
cfg = (Configuration) field.get(serviceRegistry);
} catch (NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException e) {
e.printStackTrace();
}
SchemaUpdate update = new SchemaUpdate(serviceRegistry, cfg);
With Hibernate 5, muss ich einige @ verwendMetadataImplementor
, das von keinem dieser Objekte verfügbar zu sein scheint. Ich habe auch versucht, @ zu verwendMetadataSources
mit demserviceRegistry
. Aber es hat gesagt, dass es die falsche Art von @ iServiceRegistry
.
Gibt es eine andere Möglichkeit, dies zum Laufen zu bringen?