Странная вещь об использовании метода saveOrUpdate сессии hibernate - PullRequest
0 голосов
/ 01 февраля 2012

Я использую Hibernate для подключения к базе данных MySQL.

Мой метод saveOrUpdate:

public void saveOrUpdate(T t){
    Session session = HibernateUtil.getSession();
    Transaction transaction = session.beginTransaction();
    session.saveOrUpdate(t);
    transaction.commit();
}

Я использовал этот метод на самом деле около полугода, он работал хорошо. Но теперь, когда я делаю джунт-тест с использованием этого метода, это кажется отстойным. Сначала я делаю saveOrUpdate, а затем использую Criteria для запроса, результат получается правильным, но в базе данных ничего не изменилось.

Может ли кто-нибудь подсказать, что здесь происходит?

Большое спасибо.

1 Ответ

1 голос
/ 01 февраля 2012

Какова ваша конфигурация JUnit для транзакций?Я считаю, что он настроен на откат всех транзакций в тесте.Это должно быть правильно, так как после теста база данных должна быть возвращена в согласованное / известное состояние.Правильность вашего кода должна зависеть от того, как вы пишете тест, а не от того, какие записи физически присутствуют в базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...