У меня есть метод, который обновляет количество товара.
MyEntity имеет свойство версии, аннотированное @Version, как долго.
Есть конечная точка списка элементов /items
Также есть конечная точка обновления элементов/item/update
(рассматривается как товарный запас, покупка товара)
Таким образом, N одновременных пользователей хотят обновить один и тот же товар.
Но возникает исключение org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
.При обновлении.
А также в это время конечная точка /items
не могла вернуть данные.Или ждет, когда пользователь вернется со слишком большой задержкой. (Если обновление пользователей считает слишком много в это время, оно также получает exception timeout
).
Итак, как я могу справиться с этой ситуацией без каких-либо пропусков?(Может быть хорошая реализация)