HIbernate - Изоляция - Вставить запись - PullRequest
0 голосов
/ 24 октября 2018

Вариант использования

Необходимо хранить купоны, примененные Клиентом при покупке продукта.

Структура таблицы, как показано ниже.

ID |USERREF |КУПОНКОД |ДАТА

  1. Для одного пользователя - одноразовый купон
  2. Для одного пользователя - многоразовый купон
  3. Для нескольких пользователей - один купон
  4. Для нескольких пользователей - несколько купонов

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

Для случая использования, один пользователь - купон на одно использование, яможет попасть в беду.Один и тот же пользователь может подать заявку через 2 разных режима.Во-первых, я использую синхронизированный блок где-то во время операций R / W, или я использую блокировку таблицы на приведенной выше таблице, когда я на самом деле читаю данные.

То же самое касается других, один пользователь - многократное использование, может вернуть несколько строк, и яможет ограничить использование макс 3 раза для пользователя одним и тем же купоном.

Так что мне нужна помощь, если hibernate предоставляет или я могу динамически создать ограничение на основе моего варианта использования.

...