Недавно я изучал транзакцию базы данных, и в одной статье цитируется следующее:
JPA обеспечивает автоматическую поддержку управления версиями строк с помощью аннотации @Version. Если у вас есть объект с аннотированным полем или свойством @Version, оптимистическая блокировка будет включена автоматически.
Насколько я понимаю, стратегии уровня изоляции базы данных поддерживаются с использованием различных блокировок, таких как
- Чтение без фиксации: реализовано с исключительной блокировкой записи
- Фиксация чтения: реализована с использованием разделяемых блокировок чтения и исключительных блокировок записи.
скоро. Итак, изоляция транзакций реализуется с помощью различных блокировок, которые, как я полагаю, связаны с пессимистической блокировкой.
Мой вопрос: когда поле объявляется как @Version с аннотациями, переопределяет ли оно базовый уровень изоляции по умолчанию и имеет место оптимистическая блокировка?