プライマリキー値の自動生成機能について
使用するDBMSがSQL Server 2012以降の場合、自動生成機能の生成パターンに対して選択される方針が以下のように異なります。
生成パターン | Java EE 7で選択される方針 | Jakarta EE 8で選択される方針 |
---|---|---|
AUTO | generatorの値を省略した場合、Generatorの名前はSEQ_GENとなります。このGeneratorがSequenceGeneratorの場合、IDENTITYカラムが利用されます。このGeneratorが定義されていない場合、属性の省略値を使用するTableGeneratorが使用されます。 | generatorの値を省略した場合、Generatorの名前はSEQ_GENとなります。このGeneratorが定義されていない場合、属性の省略値を使用するTableGeneratorが使用されます。 |
SEQUENCE | IDENTITYカラムが使用されます。ただし、generatorにTableGeneratorの名前を指定した場合、TableGeneratorが使用されます。 | SequenceGeneratorが使用されます。generatorを省略した場合、名前がSEQ_GEN_SEQUENCEとなり、他の属性に省略値が使用されます。ただし、generatorにTableGeneratorの名前を指定した場合、TableGeneratorが使用されます。 |
IDENTITY | IDENTITYカラムが使用されます。generatorを省略した場合、名前がSEQ_GEN_SEQUENCEとなり、他の属性に省略値が使用されます。ただし、generatorにTableGeneratorの名前を指定した場合、TableGeneratorが使用されます。また、generatorにSequenceGeneratorの名前を指定した場合、SequenceGeneratorが使用されます。 |
詳細は、「2.11.5 プライマリキー値の自動生成機能」を参照してください。