6.5.1 主キーの生成方式に関する注意事項
ここで説明する機能は,Entityオブジェクトを用いてレコードを挿入するときに,ユーザが主キー値を指定しなくても一意の値が格納されるようにする機能です。ユーザアプリケーションのEntityクラスに定義する@GeneratedValueのstrategy要素に設定する値によって主キーの生成方法が異なります。この機能はJPA規約で規定された生成パターンを提供しますが,サポートするパターンは各データベースに依存します。HiRDB使用時に,@GeneratedValueのstrategy要素に設定する値による主キーの生成方式の違いを次の表に示します。
Strategy要素の定義値 |
HiRDB使用時の処理内容 |
標準仕様の概要 |
---|---|---|
GenerationType.TABLE |
主キー値を保持しておくためのテーブルを使用して,主キー値を生成します。 |
主キー値を保存しておくためのテーブルを使用して,主キー値を割り当てます。 |
GenerationType.SEQUENCE |
TABLEと同じ処理をします。 |
データベースのシーケンス機能を使用し,主キー値を割り当てます。 |
GenerationType.IDENTITY |
TABLEと同じ処理をします。 |
データベースのidentity列を使用して主キー値を割り当てます。 |
GenerationType.AUTO |
TABLEと同じ処理をします。 |
使用しているデータベースに適した生成方法を選択する方法です。 |