Hibernate事务不提交对数据库的更改(SQL Server)

时间:2018-05-08 07:36:55

标签: java hibernate transactions nativequery hibernate-native-query

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

数据库成功清除,但默认数据未插入数据库。请让我知道我在这里做错了什么。我尝试在一次交易中同时删除和插入部分,但没有运气。

0 个答案:

没有答案