Нужно ли повторять Hibernate.update? - PullRequest
0 голосов
/ 08 мая 2018

Мне нужно убедиться, что обновление сущности не поддается периодическим проблемам, таким как сетевые ошибки.

Объект сохраняется при вызове getSession().update(object);, где getSession() возвращает текущий сеанс Hibernate.

Нужно ли обернуть оператор update попытками? Или есть какая-то гарантия, предоставляемая Hibernate?

Ответы [ 2 ]

0 голосов
/ 08 мая 2018

Вы можете заключить ваш код в блок try-catch, если объект не обновлен, он откатит транзакцию, когда возникнет исключение, которое вы можете обработать в блоке catch. Нравится следующий

Session sess = factory.openSession();
 Transaction tx;
 try {
     tx = sess.beginTransaction();
     sess.update(someobject);
     tx.commit();
 }
 catch (Exception e) {
     if (tx!=null)
     tx.rollback();
     throw e;
 }
 finally {
     sess.close();
 }
0 голосов
/ 08 мая 2018

Вы можете поместить его в блок try-catch и предпринять компенсационные действия в случае неудачи.Например, вы можете записать сбои в очередь сообщений для последующей обработки.

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