Вариант использования
Необходимо хранить купоны, примененные Клиентом при покупке продукта.
Структура таблицы, как показано ниже.
ID |USERREF |КУПОНКОД |ДАТА
- Для одного пользователя - одноразовый купон
- Для одного пользователя - многоразовый купон
- Для нескольких пользователей - один купон
- Для нескольких пользователей - несколько купонов
Мне нужно вставить новую запись для пользователя и используемый код купона, таблица может иметь несколько записей в соответствии с приведенными выше требованиями.
Для случая использования, один пользователь - купон на одно использование, яможет попасть в беду.Один и тот же пользователь может подать заявку через 2 разных режима.Во-первых, я использую синхронизированный блок где-то во время операций R / W, или я использую блокировку таблицы на приведенной выше таблице, когда я на самом деле читаю данные.
То же самое касается других, один пользователь - многократное использование, может вернуть несколько строк, и яможет ограничить использование макс 3 раза для пользователя одним и тем же купоном.
Так что мне нужна помощь, если hibernate предоставляет или я могу динамически создать ограничение на основе моего варианта использования.