プライマリキーを作成するジェネレータの設定を指定するアノテーションです。
@TableGeneratorを使用する場合,次の設定が必要です。
テーブルジェネレータは,エンティティクラス,またはプライマリキーのフィールドまたはプロパティに指定されます。ジェネレータ名のスコープは永続化ユニットで有効です。
エンティティはプライマリキー値の生成をするために,ジェネレータテーブルの行を使用します。
シーケンスを管理するテーブルを作成する場合,初期値には正の整数を指定します。初期値に0を指定した場合,プライマリキーは1から生成されます。
適用可能要素は,クラス,メソッド,およびフィールドです。
@TableGeneratorの属性の一覧を次の表に示します。
属性名 | 任意/必須 | 属性の説明 |
---|---|---|
name | 必須 | プライマリキー値のためのジェネレータ名を指定する属性です。 |
table | 任意 | 生成されるプライマリキー値を確保するテーブルの名前を指定する属性です。 |
catalog | 任意 | 生成されるプライマリキー値を確保するテーブルのカタログ名を指定する属性です。 なお,この属性は,CJPAプロバイダには対応していません。 |
schema | 任意 | 生成されるプライマリキー値を確保するテーブルのスキーマ名を指定する属性です。 |
pkColumnName | 任意 | 生成されるプライマリキー値を確保するテーブルのプライマリキーカラム名を指定する属性です。 |
valueColumnName | 任意 | 生成された最終値を確保するカラム名を指定する属性です。 |
pkColumnValue | 任意 | 生成されるプライマリキー値を確保するテーブルのプライマリキー値を指定する属性です。 |
initialValue | 任意 | 生成された最新の値を確保するカラムを初期化するために使う値を指定する属性です。 なお,この属性は,CJPAプロバイダには対応していません。値を指定した場合は無視されます。 |
allocationSize | 任意 | ジェネレータからプライマリキー値を割り当てるサイズを指定する属性です。 |
uniqueConstraints | 任意 | 生成されるプライマリキー値を確保するテーブル上でのユニークキー制約を指定する属性です。 なお,この属性は,CJPAプロバイダには対応していません。値を指定した場合は無視されます。 |
CJPAプロバイダで対応する属性の詳細を次に示します。