パッケージ jakarta.persistence
アノテーションインターフェース SequenceGenerator
@RepeatableSE(SequenceGenerators.class)
@TargetSE({TYPESE,METHODSE,FIELDSE,PACKAGESE})
@RetentionSE(RUNTIMESE)
public @interface SequenceGenerator
GeneratedValue
アノテーションにジェネレーター要素が指定されている場合に名前で参照できる主キージェネレーターを定義します。シーケンスジェネレーターは、エンティティクラスまたは主キーフィールドまたはプロパティで指定できます。ジェネレーター名のスコープは、永続性ユニットに対してグローバルです(すべてのジェネレーター型にわたって)。名前が明示的に指定されておらず、アノテーションがエンティティクラスまたはエンティティクラスの主キー属性に存在する場合、名前はデフォルトでエンティティの名前になります。
名前が明示的に指定されておらず、アノテーションがパッケージ記述子に存在する場合、アノテーションが付けられたパッケージ内のプログラム要素の GeneratedValue
アノテーションに strategy=SEQUENCE
とデフォルトのジェネレーター名がある場合、そのアノテーションはデフォルトのジェネレーターを生成するためのレシピを定義します。このデフォルトのジェネレーターの名前はデフォルトのジェネレーター名であり、その他のプロパティはパッケージ SequenceGenerator
アノテーションのメンバーによって決定されます。
例:
- 導入:
- 1.0
オプション要素の概要
オプション要素修飾子と型オプションの要素説明int
(オプション)シーケンスからシーケンス番号を割り当てるときにインクリメントする量。(オプション)シーケンスジェネレーターのカタログ。int
(オプション)シーケンスオブジェクトの生成を開始する値。(オプション) 主キー値のジェネレーターとして 1 つ以上のクラスから参照できる一意のジェネレーター名。(オプション) このシーケンスを作成する、生成された DDL ステートメントに追加される SQL フラグメント。(オプション)シーケンスジェネレーターのスキーマ。(オプション)主キー値を取得するデータベースシーケンスオブジェクトの名前。
要素の詳細
name
StringSE name(オプション) 主キー値のジェネレーターとして 1 つ以上のクラスから参照できる一意のジェネレーター名。アノテーションがエンティティクラスまたは主キー属性に発生する場合、デフォルトはエンティティの名前になります。
- デフォルト:
- ""
sequenceName
StringSE sequenceName(オプション)主キー値を取得するデータベースシーケンスオブジェクトの名前。デフォルトはプロバイダーが選択した値です。
- デフォルト:
- ""
catalog
StringSE catalog(オプション)シーケンスジェネレーターのカタログ。- 導入:
- 2.0
- デフォルト:
- ""
schema
StringSE schema(オプション)シーケンスジェネレーターのスキーマ。- 導入:
- 2.0
- デフォルト:
- ""
initialValue
int initialValue(オプション)シーケンスオブジェクトの生成を開始する値。- デフォルト:
- 1
allocationSize
int allocationSize(オプション)シーケンスからシーケンス番号を割り当てるときにインクリメントする量。- デフォルト:
- 50
options
StringSE options(オプション) このシーケンスを作成する、生成された DDL ステートメントに追加される SQL フラグメント。- 導入:
- 3.2
- デフォルト:
- ""