楽観的ロック機能を使用するために用いるversionフィールドまたはversionプロパティを指定するアノテーションです。
versionフィールドまたはversionプロパティでサポートする型を次に示します。
- int
- java.lang.Integer
- short
- java.lang Short
- long
- java.lang Long
- java.sql.Timestamp
このアノテーションを使用する場合は,次のことに注意してください。
- @Versionと@Temporalは同時に指定できません。どちらかのアノテーションだけを指定してください。
- versionプロパティをプライマリテーブル以外のテーブルには指定しないでください。
- @Versionで指定されたフィールドまたはプロパティは,アプリケーションによって更新してはいけません。
- SQLを使用して複数のレコードを一度に更新するバルク更新の場合は,versionフィールドまたはversionプロパティの自動更新をしません。このため,バルク更新をする場合に楽観的ロックを使用するときは,手動で参照および更新をする必要があります。
- エンティティクラスに対しては,versionフィールドまたはversionプロパティは一つだけ設定できます。複数のversionフィールドまたはversionプロパティを設定した場合,一つだけ有効となります。設定が有効になる順番は不定です。
適用可能要素は,メソッドとフィールドです。