В приложении, которое я в настоящее время развивается у меня есть структура данных:Как обеспечить обновление версии для объекта?
Bucket [1] ------ [Many] Element
Теперь у меня есть мнение, когда я могу добавить удалить и изменить элементы. Теперь у меня есть ситуация, когда несколько пользователей редактируют одно и то же ведро, и они могут перепутать чужие правки. Я хочу решить эту проблему, проверяя и обновляя версию ведра каждый раз, когда данные сохраняются.
JPA имеет собственную версию, поэтому я планирую повторно использовать это. Но JPA охотно не обновляет версию Bucket, когда ее элемент был обновлен. Есть ли хороший способ, как обеспечить обновление версии для объекта в JPA?
В настоящее время я нашел какое-то предложение, например, создать фиктивное поле, иметь собственное поле версии или отсоединить и слить объект. Без них мне кажется, что это лучше?
Я использую ссылку eclipse с данными весны, если это помогает.
Я уже использовал версию в JPA и он обновляется автоматически: это точка этой функции: Вы должны аннотировать поля (длинный тип) с @version. Если версия не является хорошей, генерируется исключение, и последняя транзакция отменяется. Не забудьте использовать блокировку оптимистов, чтобы избежать блокировки поля в базе данных в течение длительного времени. – rlm
, если многие пользователи редактируют на том же поле, будет некоторое повреждение данных. есть ли у ваших пользователей предпочтительный рейтинг? – nafas
@nafas пользователь имеет дело с dto, а не с сущностями, и это происходит за пределами транзакции. поэтому нет проблем с повреждением данных. и ни один пользователь не имеет оценок. кто бы ни спасал сначала, он преуспевает, не позволяя другим экономить – user902383