2

我们的应用程序中有一个函数可以清理数据库并重置数据,我们调用一个方法,该方法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
}

成功清除数据库,但未将默认数据插入数据库。请让我知道我在这里做错了什么。我尝试在一个事务中同时执行删除和插入部分,但没有成功。

4

0 回答 0