对于某些单元测试,我在每次测试后都会丢弃并重新创建整个数据库模式。它不完美,但它的工作原理。但是当我从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的
答案 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)
看看这个:
这方法仍然存在。但是,还要注意java doc中有两个LocalSessionFactoryBean(参见左侧滚动列表)!!
[编辑]如下所述,这些方法已在hibernate 4中弃用