| Interface | Description | 
|---|---|
| ExclusiveControlManager | 
 排他制御(悲観的ロック、楽観的ロック)を管理するインタフェース。
 
 排他制御用テーブルを使用した排他制御(悲観的ロック、楽観的ロック)を行うための機能、
 及び排他制御用テーブルに対する行データの追加と削除を行う機能を提供する。
 
 排他制御用テーブルは、排他制御の対象に含めるテーブルの範囲を決めた上で、
 親となるテーブルを決定し排他制御用テーブルとする。
 排他制御用テーブルには、バージョン番号をカラムを定義する。
 
 悲観的ロックは、 
ExclusiveControlManager.updateVersion(ExclusiveControlContext)メソッドにより、
 処理の開始時にバージョン番号を更新することでロックを実現する。
 トランザクションがコミット又はロールバックされるまで、ロックが維持される。
 
 楽観的ロックは、ExclusiveControlManager.getVersion(ExclusiveControlContext)メソッドでバージョン番号を取得しておき、
 ExclusiveControlManager.checkVersions(List)、ExclusiveControlManager.updateVersionsWithCheck(List)メソッドにより、
 取得したバージョン番号が更新されていないかをチェックすることで実現する。 | 
| Class | Description | 
|---|---|
| BasicExclusiveControlManager | 
ExclusiveControlManagerの基本実装クラス。 | 
| ExclusiveControlContext | 
 排他制御の実行に必要な情報を保持するクラス。
 
 排他制御用テーブルのスキーマ情報と排他制御対象のデータを指定する主キー条件を保持する。 
 | 
| ExclusiveControlTable | 
 排他制御用テーブルのスキーマ情報とSQL文を保持するクラス。 
 | 
| ExclusiveControlUtil | 
 排他制御機能のユーティリティクラス。
 
 排他制御用テーブルの操作は、 
ExclusiveControlManagerに委譲する。
 本クラスで使用するExclusiveControlManagerのオブジェクトは
 SystemRepositoryから"exclusiveControlManager"という名前で取得する。
 
 UniversalDaoを使用する場合には、
 このクラスではなくUniversalDaoを使用して排他制御を行うこと。 | 
| Version | 
 排他制御用テーブルのバージョン番号を保持するクラス。 
 | 
| Exception | Description | 
|---|---|
| OptimisticLockException | 
 楽観的ロックでバージョン番号が更新されている場合に発生する例外。 
 |