Показать сообщение отдельно
Старый 28.02.2018, 09:31   #3  
Vasiliusis is offline
Vasiliusis
Участник
 
225 / 13 (1) ++
Регистрация: 30.01.2013
Цитата:
Сообщение от Logger Посмотреть сообщение
Копайте в сторону orig() и места выполнения вашего кода (клиент/сервер)
Место выполнения - сервер, абстрактный код тестируется в джобе, а это точно, я полагаю, не клиент

Цитата:
Сообщение от Logger Посмотреть сообщение
Ядро при обновлении записи сравнивает текущие значения и orig() значения и различия сбрасывает в базу.
Для некоторых сценариев работы orig() был всегда равен самому буферу. Поэтому update ничего не обновлял.
Вероятно это ваш случай.
различия есть, отдельно получено значение Sign и orig().Sign. Они разнятся...

Дело в использовании контейнера, однозначно. При десериализации, видимо что-то происходит... Кстати, когда курсор обратно получается из контейнера - в дебаггере видно, что "forupdate" утрачивается, приходится делать принудительно selectForUpdate(true)... но и без forupdate, как ни странно, не бросается исключение "запись не выбиралась для обновления"... в общем, чудеса в решете