org.seasar.doma
注釈型 TableGenerator


@Target(value=FIELD)
@Retention(value=RUNTIME)
public @interface TableGenerator

テーブルを利用する識別子ジェネレータを示します。

このアノテーションが注釈されるフィールドは、エンティティクラスのメンバでなければいけません。 このアノテーションは IdGeneratedValue と併わせて使用しなければいけません。

例:
 @Entity
 public class Employee {
 
     @Id
     @GeneratedValue(strategy = GenerationType.TABLE)
     @TableGenerator(pkColumnValue = "EMPLOYEE_ID")
     Integer id;
     
     ...
 }
 

作成者:
taedium

必須要素の概要
 String pkColumnValue
          主キーのカラムの値です。
 
任意要素の概要
 long allocationSize
          割り当てサイズです。
 String catalog
          カタログ名です。
 Class<? extends TableIdGenerator> implementer
          ジェネレータの実装クラスです。
 long initialValue
          初期値です。
 String pkColumnName
          主キーのカラムの名前です。
 String schema
          シーケンス名です。
 String table
          テーブル名です。
 String valueColumnName
          生成される識別子を保持するカラムの名前です。
 

要素の詳細

pkColumnValue

public abstract String pkColumnValue
主キーのカラムの値です。

catalog

public abstract String catalog
カタログ名です。

デフォルト:
""

schema

public abstract String schema
シーケンス名です。

デフォルト:
""

table

public abstract String table
テーブル名です。

デフォルト:
"ID_GENERATOR"

pkColumnName

public abstract String pkColumnName
主キーのカラムの名前です。

デフォルト:
"PK"

valueColumnName

public abstract String valueColumnName
生成される識別子を保持するカラムの名前です。

デフォルト:
"VALUE"

initialValue

public abstract long initialValue
初期値です。

デフォルト:
1L

allocationSize

public abstract long allocationSize
割り当てサイズです。

デフォルト:
1L

implementer

public abstract Class<? extends TableIdGenerator> implementer
ジェネレータの実装クラスです。

デフォルト:
org.seasar.doma.jdbc.id.BuiltinTableIdGenerator.class


Copyright © 2009-2014 The Seasar Foundation. All Rights Reserved.