@Target(value={METHOD,FIELD})
@Retention(value=RUNTIME)
public @interface Version
Versionフィールドまたはプロパティを指定します。
このVersionは、マージ操作を実行する際の整合性と楽観ロックによる並行性制御のために使用されます。
クラスごとに1つのVersionプロパティまたはフィールドのみ使用できます。複数のVersionプロパティまたはフィールドを使用するアプリケーションは移植できないでしょう。
Versionプロパティは、エンティティクラスのプライマリテーブルに設置する必要があります。
Versionプロパティをプライマリテーブル以外のテーブルに設置するアプリケーションは移植できないでしょう。
Versionプロパティでサポートされる型はint、Integer、short、Short、long、Long、java.sql.Timestampです。
Example:
@Version
@Column(name="OPTLOCK")
protected int getVersionNum() { return versionNum; }
Translated by @megascus.