чтение транзакции hibernate и последующее обновление - PullRequest
0 голосов
/ 08 марта 2010

У меня есть ситуация, в которой я читаю запись из базы данных. И если все будет в порядке, я изменю несколько свойств и совершу транзакцию.

Но в ситуациях, когда два потока делают одно и то же, они обновляют одну и ту же запись.

Как сделать это в спящем режиме?

1 Ответ

3 голосов
/ 08 марта 2010

Вы можете использовать оптимистическую блокировку: дать сущностям версию и позволить ей генерировать исключение и повторить попытку позже, если версия не совпадает, потому что что-то другое (другой поток, другой узел в кластере или даже некоторый независимый сценарий SQL, которыйнадоело обновлять версию) поменял ту же сущность.Или вы можете использовать пессимистическую блокировку: действительно заблокировать сущности в базе данных.

Подробнее см. Главу Транзакции и параллелизм в документации по спящему режиму.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...