2009-03-25 5 views
2

Если я делаю следующееСпящий режим отката

session.getTransaction(). Rollback();

это нормально/можно начать вызов сохранения/обновления/удаления и т. Д. На одном и том же объекте сеанса? Не удалось найти ответ на этот вопрос в Hibernate Session/Transaction API или в справочной документации Hibernate.

Или вы рекомендуете мне закрыть этот объект Session, открыть новый сеанс и начать новую транзакцию?

ответ

3

Я говорю, закрываем сессию и открываем новую. Hibernate не известен тем, что он прощает о злоупотреблении своими сессиями. Это может немного повредить производительность, но это, вероятно, предотвратит ошибку в будущем.

Yuval = 8-)

0

Я не уверен, что это возможно/полезно с точки зрения базы данных, но писать атомный код намного лучше для читаемости. Вы даже можете повторно использовать структуру метода шаблона, чтобы забыть о проводках вокруг вашей транзакции.