Как работает аннотация @Version
в JPA?
Я нашел различные ответы, экстракт которых выглядит следующим образом:
JPA использует поле версии в ваших сущностях для обнаружения одновременных изменений в одной и той же записи хранилища данных. Когда среда выполнения JPA обнаруживает попытку одновременного изменения одной и той же записи, она выдает исключение транзакции, пытающейся совершить последнюю.
Но я все еще не уверен, как это работает.
Также как из следующих строк:
Вы должны рассматривать неизменяемые поля версии. Изменение значения поля имеет undefined.
Означает ли это, что мы должны объявить наше поле версии как final
?