Программирование для демонстрации уровней изоляции транзакций

#transactions #demo

#транзакции #ДЕМОНСТРАЦИЯ

Вопрос:

Я пытаюсь обдумать вариант использования, когда пользователь A получает запись базы данных через веб-страницу, пользователь B получает ту же запись, изменяет ее и фиксирует изменения, а затем пользователь A фиксирует свои изменения. Предположительно, изменения A перезаписывают Bs.

Я хочу иметь возможность выдавать пользователю сообщение «запись изменилась с тех пор, как вы в последний раз ее находили», но, похоже, не могу придумать демонстрационную версию. Для развлечения я попробовал ISOLATION_SERIALIZABLE в сценарии рабочего стола, который заблокировал B, это было весело, но не то, что я ищу.

В целом, какие подходы вы использовали для этого варианта использования, особенно в веб-сценариях, где два пользователя конкурируют за одну и ту же запись?

Любые советы приветствуются!!

Комментарии:

1. en.wikipedia.org/wiki/Optimistic_concurrency_control

2. отличная ссылка, спасибо! Благодаря этому я смог покопаться и посмотреть на OCC в hibernate / JPA, что как раз то, что я ищу. Я предполагаю, что то, о чем я спрашивал, — это управление параллелизмом, а уровни изоляции — это разные, но связанные звери. Еще раз спасибо!