Я новичок в Hibernate, я видел, что Hibernate бросает StaleObjectStateException, а несколько пользователей пытаются сохранить полный объект. Но большинство обновлений БД я сделал с использованием запроса на обновление HQL. Теперь я добавил дополнительное условие для запросов обновления HQL как «где version =: currentVersion», чтобы определить, что другой пользователь не обновил конкретную запись. Кажется, он работает нормально. Но проблема в том, что у меня много запросов, и мне также нужно синхронизировать номер версии в моем объекте java, как и в DB. Есть ли простой способ получить «StaleObjectStateException» в обновлении запроса HQL во время многопользовательских обновлений?StaleObjectStateException ожидается при обновлении с использованием HQL
0
A
ответ
0
Вы поняли это неправильно. Hibernate выбрасывает StaleObjectStateException как желаемое поведение для «, когда несколько пользователей пытаются сохранить полный объект». Это предотвращает, что последний автор выигрывает и переопределяет данные от своих предшественников. Обычно вы улавливаете это исключение и показываете пользователю сообщение об ошибке «Кто-то изменил данные. Повторите попытку!». Предложение HQL-запроса неверно и заставит вас исправлять код еще больше и больше.
Смежные вопросы
- 1. Проблема при получении объекта с использованием HQL
- 2. Hibernate Разбивка с использованием HQL
- 3. Где обращаться с StaleObjectStateException
- 4. HQL Join - ожидается путь к соединению! hibernate
- 5. HQL left join: Путь ожидается для присоединения
- 6. hql join - Путь ожидается для соединения
- 7. StaleObjectStateException при использовании динамических лесов Grails
- 8. Исключение при обновлении с использованием EF 4.1
- 9. Скроллинг с использованием matplotlib «мазки» при обновлении
- 10. Ошибка при обновлении изображения с использованием $ _FILES
- 11. Ошибка при обновлении записей с использованием JDBC
- 12. Как использовать соединение в обновлении HQL?
- 13. HQL - getResultSet с использованием прокси
- 14. с использованием HQL в NHibernate
- 15. Обновление запроса с использованием HQL
- 16. Вложенный выбор с использованием HQL
- 17. Рекурсивный запрос с использованием HQL
- 18. Почему я получаю StaleObjectStateException при использовании Session.merge
- 19. StaleObjectStateException при попытке заблокировать объект домена
- 20. Grails 2 StaleObjectStateException
- 21. Динамический запрос HQL с использованием выражений hql, а не критериев?
- 22. StaleObjectStateException после обновления объекта
- 23. StaleObjectStateException или OptimisticLockingException
- 24. Понимание оптимистической блокировки StaleObjectStateException
- 25. Неверный результат с использованием hql 'или'
- 26. Ошибка при обмене данными DBC при обновлении с использованием Dataadapter
- 27. HQL Left Регистрация - org.hibernate.hql.internal.ast.ErrorCounter - Путь ожидается для присоединиться
- 28. Ошибка при обновлении базы данных SQLite с использованием VB.Net
- 29. StaleObjectStateException при использовании JSF DataTable с Spring Data JPA
- 30. StaleObjectStateException vs OptimisticLockException
Я понимаю это поведение. Но эта профилактика происходит только при слиянии или сохранении полной сущности. Но при выполнении запроса на обновление HQL. Эта профилактика не происходит –