Исключение оптимистической блокировки происходит, если вы пытаетесь обновить запись, которая была обновлена кем-то / чем-либо еще с момента ее загрузки.Это не требует нескольких потоков.
Вы должны быть в состоянии решить проблему, перезагрузив объект непосредственно перед его изменением и сохранением.
---- обновите, чтобы ответить на вопрос --
Безопасный способ сделать это - закрыть Сессию и использовать load или get, и убедиться, что вы не изменили атрибут version (если у вас есть такая вещь)
Часто это не то, что вы хотите сделать, и если вы работаете только с потоком, ваша сущность в сеансе должна быть текущей.Поэтому, возможно, просто убедитесь, что вы не изменили версию, когда слияния достаточно: загрузите или получите объект из сеанса, сохраните версию в переменной, выполните слияние, сбросьте версию и сброс / фиксация могут работать.
Если это не так, мне нужно больше информации о том, что вы на самом деле делаете.