РЕДАКТИРОВАТЬ: использовать транзакцию гибернации:
Session s = factory.getCurrentSession();
try {
s.beginTransaction();
Thing thing = new Thing();
s.save(thing);
s.getTransaction().commit();
} catch (RuntimeException e) {
s.getTransaction().rollback();
throw e;
}
Обработка транзакций в спящем режиме подробно описана здесь:
В среде сервлета hibernate рекомендует реализовать фильтр, который запускает транзакцию, когда запрос начинается, и заканчивает ее, когда запрос выполнен. Пример кода здесь:
При использовании JTA или EJB существуют методы для работы с существующим контекстом транзакции, как описано в руководстве.
В качестве альтернативы вы можете включить режим autoCommit (который по умолчанию отключен). Каждое утверждение будет эффективно выполняться в отдельной транзакции. Это контролируется опцией "hibernate.connection.autocommit". Подробнее здесь: