Столкнулся с проблемой:
Данные грузятся в таблицу(Vaadin). Далее их можно редактировать и сохранять. После второго сохранения валится ошибка: поле version не совпадает.
Выяснилось что после вызова save у JpaRepository возвращается новый!!! объект, у которого правильная версия.
Получается что этим новым объектом нужно в таблице заменять старый объект?
Здравствуйте, lamer2001, Вы писали:
L>Выяснилось что после вызова save у JpaRepository возвращается новый!!! объект, у которого правильная версия. L>Получается что этим новым объектом нужно в таблице заменять старый объект?
Как минимум версию старого надо обновить. Лучше конечно заменить если возможно.
L>Как-то можно избавиться от этого?
От чего этого? От нового объекта? Короткий (и правильный) ответ — нет. Если сохраняешь объект который не из текущей сессии то по id хибернейт загрузит новый из базы, скопирует туда данные и сохранит в бд. Из чего решение — держать сессию открытой вместе с твоей таблицей, но делать так не надо.
Здравствуйте, lamer2001, Вы писали:
L>Данные грузятся в таблицу(Vaadin). Далее их можно редактировать и сохранять. После второго сохранения валится ошибка: поле version не совпадает. L>Выяснилось что после вызова save у JpaRepository возвращается новый!!! объект, у которого правильная версия. L>Получается что этим новым объектом нужно в таблице заменять старый объект?
Да, совершенно верно.
L>Как-то можно избавиться от этого?