Spring Boot: optimistic locking через `@Version
` В JPA/Hibernate можно ловить конфликт обновлений без блокировки строки в базе. Достаточно добавить поле версии: @Entity public class Account { @Id private Long id; private BigDecimal balance; @Version private Long version; } Как это работает: Когда Entity читается из базы, Hibernate забирает текущую версию записи. Например, version = 2. При обновлении он делает update с проверкой этой версии. Если за это время другая транзакция уже изменила запись, версия в базе стала другой. Тогда update не затронет ни одной строки, и Hibernate выбросит OptimisticLockException...
