最近、私はデータベーストランザクションを研究しており、次のような記事の引用があります。
JPA は、@Version アノテーションを介して行のバージョン管理の自動サポートを提供します。 @Version アノテーションが付けられたフィールドまたはプロパティを持つエンティティがある場合、楽観的ロックが自動的に有効になります。
私の理解では、データベースの分離レベル戦略は、次のようなさまざまなロックを使用して維持されます
- コミットされていない読み取り: 排他的書き込みロックで実装
- 読み取りコミット: 共有読み取りロックと排他的書き込みロックを使用して実装されます。
すぐ。したがって、トランザクションの分離は、悲観的ロックを使用して推測される別のロックによって実装されます。
私の質問は、フィールドが @Version 注釈付きとして宣言されている場合、それは基になるデフォルトの分離レベルをオーバーライドし、楽観的ロックが行われるのですか?