Безопасно обрабатывать Hibernate: ошибка «SET TRANSACTION должна быть первым оператором транзакции» - PullRequest
0 голосов
/ 26 октября 2011

Я не уверен, что задаю правильный вопрос для начала, извиняюсь заранее.

Вопрос

Мне интересно, возможно ли иметь какой-либо тип обработчика для отката ошибочной транзакции в Hibernate. У меня проблема, которая возникает всякий раз, когда во время пакетного обновления из Hibernate возникает ошибка, возникает ошибка «SET TRANSACTION должно быть первым оператором транзакции», и после этого я не могу выполнить какой-либо другой запрос.

Спасибо :)

1 Ответ

1 голос
/ 26 октября 2011

Hibernate не имеет автоматической системы управления транзакциями, поэтому вы должны самостоятельно запускать команды начала, принятия и отката.

Если вы используете spring, с пружиной это может быть намного прощеуправление транзакциями API

Например,

@Transactional
void updateFoo(Foo foo){
//do your stuff
}

В приведенном выше примере новая транзакция будет запущена в начале updateFoo () метод зафиксирован в последней строке.Если между ними возникнет какая-либо проблема, транзакция будет отменена.

...