我们的应用程序中有一个清理数据库并重置数据的函数,我们调用方法cleanup()
,它首先删除数据库中的所有数据,然后调用sql script
文件插入我们应用程序的所有必要的默认数据。我们的应用程序支持Oracle - MySQL和MSSQL,该功能在Oracle和MySQL上都能正常运行,但在MSSQL上并不像它应该的那样工作。
问题是它正在清除数据库中的所有数据但没有插入默认数据,方法的第一部分工作正常但第二部分没有提交到数据库。这是功能:
public boolean cleanup(...){
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
// delete and drop sql queries here...
tx.commit();
session.close();
// end of first section
session = sessionFactory.openSession();
tx = session.beginTransaction();
// insert default data sql queries here...
tx.commit();
session.close();
// end of second section
}
数据库成功清除,但默认数据未插入数据库。请让我知道我在这里做错了什么。我尝试在一次交易中同时删除和插入部分,但没有运气。