Cosminexus アプリケーションサーバ V8 リファレンス API編
プライマリキーカラムにユニークな値を自動で生成,付与する方法を指定するアノテーションです。@Idを持つエンティティクラスまたはマップドスーパークラスのプライマリキーのフィールドまたはプロパティに適用します。
プライマリキー値の生成方法には,次の4種類の方法があります。なお,選択する生成方法に基づいて,あらかじめ基礎テーブルやデータベースシーケンスオブジェクトを用意しておく必要があります。それぞれの生成方法の詳細は,strategy属性の説明を参照してください。
- GenerationType.AUTO
- GenerationType.IDENTITY
- GenerationType.SEQUENCE
- GenerationType.TABLE
適用可能要素は,メソッドとフィールドです。
@GeneratedValueの属性の一覧を次の表に示します。
属性名 |
任意/必須 |
属性の説明 |
strategy |
任意 |
エンティティクラスのプライマリキー値を生成する方法を指定する属性です。 |
generator |
任意 |
使用する@SequenceGeneratorまたは@TableGeneratorで設定されるname属性を指定する属性です。 |
Cosminexus JPAプロバイダで対応する属性の詳細を次に示します。
(a) strategy属性
- 型
- GenerationType
- 説明
- エンティティクラスのプライマリキー値を生成する方法を指定する属性です。
- 指定できる値は,次の4種類です。
- GenerationType.AUTO
データベースごとに最も適切な手順を選択して,プライマリキー値を生成します。
データベースがOracleまたはHiRDBの場合は,GenerationType.TABLEと同じ処理をします。
- GenerationType.IDENTITY
データベースのidentity列を利用して,プライマリキー値を生成します。
データベースがOracleの場合は,GenerationType.SEQUENCEと同じ処理をします。
データベースがHiRDBの場合は,GenerationType.TABLEと同じ処理をします。
- GenerationType.SEQUENCE
データベースのシーケンスオブジェクトを使用して,プライマリキー値を生成します。
データベースがHiRDBの場合は,GenerationType.TABLEと同じ処理をします。
- GenerationType.TABLE
プライマリキー値を保持しておくためのテーブルを使用して,プライマリキー値を生成します。
- デフォルト値
- GenerationType.AUTO
(b) generator属性
- 型
- String
- 説明
- 使用する@SequenceGeneratorまたは@TableGeneratorで設定されるname属性を指定する属性です。
- デフォルト値
- strategy属性の値によって,次の名前が仮定されます。
- GenerationType.AUTOの場合
"SEQ_GEN"
- GenerationType.SEQUENCEの場合
"SEQ_GEN_SEQUENCE"
- GenerationType.TABLEの場合
"SEQ_GEN_TABLE"
All Rights Reserved. Copyright (C) 2008, 2011, Hitachi, Ltd.