Hibernate транзакция не фиксирует изменения в базе данных (SQL Server) - PullRequest
0 голосов
/ 08 мая 2018

В нашем приложении есть функция, которая очищает базу данных и сбрасывает данные, мы вызываем метод 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
}

База данных успешно очищена, но данные по умолчанию не вставляются в базу данных. Пожалуйста, дайте мне знать, что я делаю не так здесь. Я попытался удалить и вставить разделы в одной транзакции, но безуспешно.

...