2013-04-24 3 views
0

У меня есть требование, когда я хочу очистить все таблицы базы данных и двигаться дальше.Сбросить базу данных в JPA Hibernate с помощью SPRING MVC

Я нашел ниже решение в спящем режиме с 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

+0

Что вы используете JPA? – NimChimpsky

+0

Я хочу сделать это во время выполнения –

ответ

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

С спящего режима можно установить <property name="hbm2ddl.auto">create</property> или создавать падение.

Вы также можете использовать dbunit.

Смежные вопросы