ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Java EE運用ガイド

3.8.5 プライマリキー値の自動生成機能

プライマリキーをInterstage永続性プロバイダで管理する機能です。プライマリキーが未設定の新規Entityに対し永続化操作(EntityManagerのpersistメソッド)を実行すると、永続性プロバイダがDBMSと連携し、自動的にEntityへプライマリキーを割り当てます。本機能を使用する場合は、必ず同時にデータベーステーブル自動生成機能も使用してください。
Interstage永続性プロバイダは、JPA規約で規定された以下の生成パターンを提供しますが、サポートされている生成パターンはDBMSに依存します。

生成パターン

プライマリキー値の生成方針

AUTO

永続性プロバイダが適切な生成方針を選択します。

TABLE

プライマリキー値生成用のテーブルを利用します。

SEQUENCE

データベースのシーケンス機能を利用します。

IDENTITY

データベースのIDENTITYカラムを利用します。


選択される方針と定義の省略値について以下に説明します。
以下は、アノテーションで定義する場合について記述しています。deployment descriptor (orm.xml)に指定する場合、アノテーション定義をそのアノテーションと相当するdeployment descriptor (orm.xml)のタグの定義として読んでください。

注意

プライマリキー値の自動生成機能に関する注意事項

  • TableGeneratorの名前に、省略値の「SEQ_GEN_TABLE」を指定することはできません。

  • SequenceGeneratorの名前に、省略値の「SEQ_GEN_SEQUENCE」を指定することはできません。

  • Generatorの名前は、Generatorの種類を問わず一意の値を指定してください。

  • その他のDBMS固有の注意事項は、「1.3.8 JPA機能における注意事項」を参照してください。

  • テーブル自動生成機能により作成されたプライマリキー値用のテーブルは、複数のアプリケーションから参照される可能性があるため、配備解除時に破棄されません。必要に応じて手動で削除してください。