Hibernate Schema generation mit JPA

torax13

Erfahrenes Mitglied
Ich bin gerade dabei mich in JPA / Hibernate einzuarbeiten.

Ich hab soweit ein paar Klassen geschrieben, das Mapping funktioniert aus soweit.

Nun will ich das ganze per JUnit (4) laufend testen. Dazu dachte ich eine 2. Konfiguration (die 1. arbeitet mit MySQL) zu erstellen, die HSQLDB verwendet. So könnte ich die DB starten, das Schema generiren und dan Daten laden, Tests fahren.

Soweit meine Vorstellung. Leider gelingt es mir nicht per Hibernate JPA einen Schemaexport programatisch durchzuführen.
Ich erstelle eine Konfiguration:
Java:
AnnotationConfiguration cfg = new AnnotationConfiguration();
cfg.setProperty("hibernate.connection.driver_class", org.hsqldb.jdbcDriver.class.getName());
cfg.setProperty("hibernate.connection.url", "jdbc:hsqldb:mem:aetest");
cfg.setProperty("hibernate.connection.username", "sa");
cfg.setProperty("hibernate.connection.password", "");
cfg.setProperty("hibernate.connection.pool_size", "1");
cfg.setProperty("hibernate.dialect", "org.hibernate.dialect.HSQLDialect");
cfg.setProperty("provider", "org.hibernate.ejb.HibernatePersistence");
cfg.setProperty(" hibernate.hbm2ddl.auto", "create");
	
		
SchemaExport schemaExport = new SchemaExport(cfg);
schemaExport.create(true,true);

Schöner fände ich ja, wenn ich dafür eine 2 persistence-unit in der persistence.xml angeben könnte und damit irgendwie den Schemaexport erreichen könnte..

Wär schön, wenn damit schon jemand Erfahrungen hat.

Gruß
 
  • Gefällt mir
Reaktionen: nes
Ich antworte mir mal selber, da ich die Lösung (mit Hilfe des Hibernate Forums) gelöst hab.

Ich habe einfach eine 2. Konfiguration in der persistence.xml angelegt (hatte ich bereits) und dort die Option 'hibernate.hbm2ddl.auto' auf 'create' setzen. Hatte ich sogar schon probiert, nur leider nen Verschreiber im Optionennamen drin.. da konnt es ja nicht gehen ;)

Gruß
 

Neue Beiträge

Zurück