在Spring中删除和重新创建数据库模式的新方法?

时间:2011-12-12 15:06:21

标签: java spring

对于某些单元测试,我在每次测试后都会丢弃并重新创建整个数据库模式。它不完美,但它的工作原理。但是当我从Spring 3.0.6升级到3.1.0.RC2以获得对Hibernate 4的支持时,我使用的方法被删除了。

旧代码:

@BeforeMethod
public void setupSchema() {
    LocalSessionFactoryBean session = (LocalSessionFactoryBean) context.getBean("&sessionFactory");
    session.dropDatabaseSchema();
    session.createDatabaseSchema();
}

我应该使用什么代替在3.1.0.RC2中重新创建数据库模式?

编辑:请注意,这是针对hibernate4的LocalSessionFactoryBean,而不是hibernate3的

2 个答案:

答案 0 :(得分:6)

对于那些感兴趣的人,今天解决了这个问题。基本上只使用SchemaExport

@BeforeMethod
public void setupSchema() {
    LocalSessionFactoryBean session = (LocalSessionFactoryBean) context.getBean("&sessionFactory");
    SchemaExport export = new SchemaExport(session.getConfiguration());
    export.drop(false, true);
    export.create(false, true);
}

希望这有助于某人

答案 1 :(得分:0)

看看这个:

JavaDoc for 3.1.0 RC2

这方法仍然存在。但是,还要注意java doc中有两个LocalSessionFactoryBean(参见左侧滚动列表)!!

[编辑]如下所述,这些方法已在hibernate 4中弃用