Cosminexus V9 アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)

[目次][用語][索引][前へ][次へ]

6.10 楽観的ロック

CJPAプロバイダでは,EntityManagerと永続化コンテキストを利用して永続化対象のエンティティを管理します。変更されたエンティティの情報は,flushメソッドまたはトランザクションのコミット処理が実行されたときにデータベースに反映されます。複数のトランザクションで同時にデータベースの同じ行を更新するおそれがある場合,データの整合性を保証する必要があります。データの整合性を保証するために,CJPAプロバイダでは楽観的ロックを提供しています。

楽観的ロックとは,データの更新処理を始めてから更新が完了するまでの間に,ほかから更新されていないことを確認するためのロック機能です。楽観的ロックはデータベースをロックしないので,デッドロックなどが発生しないという利点があります。

ここでは,楽観的ロックについて説明します。

<この節の構成>
6.10.1 楽観的ロックの処理
6.10.2 楽観的ロックに失敗した場合の例外処理
6.10.3 楽観的ロックを使用する際の注意事項