This is a cache of http://dbflute.seasar.org/ja/manual/reference/dfprop/optimisticlockdefinition/index.html. It is a snapshot of the page at 2024-11-13T00:33:52.368+0000.
optimisticLockMap (optimisticLockDefinitionMap) | DBFlute

optimisticLockMap

Java6版までは、optimisticLockDefinitionMap という名前でした。(古い名前でも動きます)

そもそも、Java8版からは、littleAdjustmentMap のひとつのプロパティとして取り込まれました。

optimisticLockMapとは?

楽観的並行性制御(排他制御)についての設定を行うためのDBFluteプロパティ。DBFluteクライアントの dfprop 配下の littleAdjustmentMap.dfprop の中のひとつのプロパティです。主に Generateタスク から参照されます。

DBFluteではタイムスタンプかバージョン番号による楽観的排他制御をサポートしていて、デフォルトはバージョン番号による制御を行います。 もし、バージョン番号に該当するカラム名が "VERSION_NO" (大文字小文字区別なし)なら、ここでの設定は不要 です。

プロパティ

map型プロパティ で、バージョン番号タイムスタンプ のカラム名を定義します。

optimisticLockMapの仕様 @littleAdjustmentMap.dfprop
; optimisticLockMap = map:{
    ; updateDateFieldName = [update-date-field-name(column-name)]
    ; versionNoFieldName = [version-no-field-name(column-name)]
}

両方を同時に設定されることは想定されません(例えば、VERSION_NOカラムがあるのにタイムスタンプを設定するなど)。

updateDateFieldName

排他制御に使用するためのタイムスタンプ型のカラムを指定します。

値候補
カラム名
デフォルト
なし (タイムスタンプ型での排他制御はしない)
補足
  • 大文字小文字の区別なし (但し実体と合わせることを推奨)

タイムスタンプ型での排他制御の正確性はDBMSのミリ秒の精度に依存 するため、基本的にはバージョン番号を利用した排他制御が推奨されます。

versionNoFieldName

排他制御に使用するための数値型のカラムを指定します。

値候補
カラム名
デフォルト
VERSION_NO
補足
  • 大文字小文字の区別なし (但し実体と合わせることを推奨)