2011-12-12 89 views
2

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

旧代码:

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

我究竟应该使用,而不是重新创建3.1.0.RC2数据库模式?

编辑:请注意,这是对hibernate4 LocalSessionFactoryBean的,不Hibernate3的一个

回答

5

已弃用对于那些有兴趣,今天固定这个问题。从本质上讲只是使用的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); 
} 

希望这可以帮助别人

+0

它有帮助,谢谢 –

0

看一看这样的:

JavaDoc for 3.1.0 RC2

的方法仍然存在于这一点。但是,还要注意java文档中有两个LocalSessionFactoryBean(请参阅左侧滚动列表)!

[编辑]如下面所述的方法中提到在休眠4

+1

其实,如果你仔细看,还有一个用于Hibernate3的,一个用于hibernate4。我使用的是hibernate4。我更新了问题 – TheLQ

相关问题