Вы можете сделать, как подсказывает сообщение об ошибке, и заставить программу повторить транзакцию!
Очень сильно зависит от того, насколько «атомной» является транзакция! Т.е. если вы зашли в тупик, то похоже, что какой-то другой процесс успешно обновил интересующую вас строку. Имеет ли смысл применять обновление к строке в этих обстоятельствах?
По крайней мере, представьте пользователю более приятное сообщение об ошибке («Другой пользователь изменил xxxx, который вы пытались обновить. Пожалуйста, просмотрите новые значения и попробуйте снова.)