2013-04-24 54 views
0

我有一個要求,我想清除整個數據庫表,而不是前進。JPA重置數據庫休眠與SPRING MVC

我發現下面的解決方案在Hibernate中使用LocalSessionFactoryBean。

https://code.google.com/p/ormunit/source/browse/trunk/ormunit-hibernate/src/main/java/net/chrisrichardson/ormunit/hibernate/ResetDatabaseByRecreatingSchemaStrategy.java

但我使用JPA了Hibernate作爲我有LocalContainerEntityManagerFactoryBean結果。

任何人都可以指導我,我怎麼能實現類似的解決方案使用JPA超過休眠。

動機是重置數據庫

+0

你要做到這一點在啓動或運行時? – gkamal 2013-04-24 11:24:44

+0

您使用的是JPA的實現? – NimChimpsky 2013-04-24 15:14:43

+0

我想在運行時執行此操作 – 2013-04-25 04:53:09

回答

0

我用

的SchemaExport

來解決這個問題,

LocalContainerEntityManagerFactoryBean localSessionFactoryBean = getLocalSessionFactoryBean(applicationContext); 

     Configuration conf = new Ejb3Configuration().configure(
       localSessionFactoryBean.getPersistenceUnitInfo(), null) 
       .getHibernateConfiguration(); 
     SchemaExport export = new SchemaExport(conf, localSessionFactoryBean 
       .getDataSource().getConnection()); 
     export.create(true, true); 


public LocalContainerEntityManagerFactoryBean getLocalSessionFactoryBean(
      ApplicationContext applicationContext) { 

     return (LocalContainerEntityManagerFactoryBean) applicationContext 
       .getBean(LocalContainerEntityManagerFactoryBean.class); 
    } 
0

使用Hibernate,你可以設置<property name="hbm2ddl.auto">create</property>或創建降。您可以使用dbunit