Hibernate DDL Loggen

ARadauer

Top Contributor
Hi,
kann ich Hiberante dazu bringen mir die SQL DDL Statements für die Erstellung der DB Struktur nicht auszufürhren sondern nur zu loggen?

<property name="hibernate.hbm2ddl.auto">update</property>
Würde mir die Queries ja gleich ausführen, ich würd sie mir aber gerne vorher ansehen bzw anpassen bevor ich sie ausführe...

Wie mach ich das am besten?

Danke
 
Das geht hiermit:
Configuration (Hibernate JavaDocs)

Mein Projekt ist mit Springframework konfiguriert, da mach ich das so:

Java:
public static void generateSchemaCreationScript() {
    LOG.info("Generating schema creation script...");
    
    ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");   
    
    LocalSessionFactoryBean sessionFactoryBean = (LocalSessionFactoryBean) ctx.getBean("&sessionFactory");
    Configuration configuration = sessionFactoryBean.getConfiguration();    
    
    Dialect dialect = Dialect.getDialect(configuration.getProperties());
    String[] sql = configuration.generateSchemaCreationScript(dialect);
  
    for (String string : sql) {
        System.out.println(string);
    }
}

Im Grunde braucht man nur sein Hibernate-Configuration-Objekt.
 

Zurück
Oben