11.3. Hibernate アノテーション
11.3.1. Hibernate アノテーション
表11.7 Hibernate によって定義されるアノテーション
アノテーション | 説明 |
---|---|
AccessType | プロパティーのアクセスタイプ。 |
Any | 複数のエンティティータイプを示す ToOne 関連を定義します。 メタデータ弁別子カラムより according エンティティータイプを一致します。このようなマッピングは最低限にするべきです。 |
AnyMetaDef | @Any および @manyToAny メタデータを定義します。 |
AnyMedaDefs | @Any および @ManyToAny のメタデータセットを定義します。エンティティーレベルまたはパッケージレベルで定義が可能です。 |
BatchSize | SQL ローディングのバッチサイズ。 |
キャッシュ | ルートエンティティーまたはコレクションにキャッシングストラテジーを追加します。 |
Cascade | 関連付けにカスケードストラテジーを適用します。 |
Check | クラス、プロパティー、コレクションのいずれかのレベルで定義できる任意の SQL チェック制約です。 |
Columns | カラムのアレイをサポートします。コンポーネントユーザータイプのマッピングに便利です。 |
ColumnTransformer | カラムからの値の読み取りやカラムへの値の書き込みに使用されるカスタム SQL 表現です。直接的なオブジェクトのロードや保存、クエリに使用されます。write 表現には必ず値に対して 1 つの 「?」 プレースホルダーが含まれなければなりません。 |
ColumnTransformers | @ColumnTransformer の複数アノテーションです。複数のカラムがこの挙動を使用する場合に便利です。 |
DiscriminatorFormula | ルートエントリーに置かれる弁別子の公式です。 |
DiscriminatorOptions | Hibernate 固有の弁別子プロパティーを表現する任意のアノテーションです。 |
Entity | Hibernate の機能でエンティティーを拡張します。 |
Fetch | 特定の関連に使用されるフェッチングストラテジーを定義します。 |
FetchProfile | フェッチングストラテジープロファイルを定義します。 |
FetchProfiles | @FetchProfile の複数アノテーション。 |
フィルター | エンティティーまたはコレクションのターゲットエンティティーにフィルターを追加します。 |
FilterDef | フィルター定義。 |
FilterDefs | フィルター定義のアレイ。 |
FilterJoinTable | 結合テーブルのコレクションへフィルターを追加します。 |
FilterJoinTables | 複数の @FilterJoinTable をコレクションへ追加します。 |
Filters | 複数の @Filters を追加します。 |
数式 | ほとんどの場所で @Column の代替として使用されます。公式は有効な SQL フラグメントである必要があります。 |
Generated | このアノテーション付けされたプロパティーはデータベースによって生成されます。 |
GenericGenerator | Hibernate ジェネレーターをデタイプを用いて記述するジェネレーターアノテーションです。 |
GenericGenerators | 汎用ジェネレーター定義のアレイ。 |
Immutable |
エンティティーまたはコレクションを不変としてマーク付けします。アノテーションがない場合、要素は可変となります。
不変のエンティティーはアプリケーションによって更新されないことがあります。不変エンティティーへの更新は無視されますが、例外はスローされません。
@Immutable をコレクションに付けるとコレクションは不変になるため、コレクションからの追加や削除およびコレクションへの追加や削除は許可されません。この結果、 HibernateException がスローされます。
|
Index | データベースのインデックスを定義します。 |
JoinFormula | ほとんどの場所で @JoinColumn の代替として使用されます。公式は有効な SQL フラグメントである必要があります。 |
LazyCollection | コレクションのレイジー状態を定義します。 |
LazyToOne | ToOne 関連のレイジー状態を定義します (OneToOne や ManyToOne など)。 |
Loader | Hibernate のデフォルトである FIND メソッドを上書きします。 |
ManyToAny | 異なるエンティティー型を示す ToMany 関連を定義します。 メタデータ弁別子カラムより according エンティティータイプを一致します。このようなマッピングは最低限にするべきです。 |
MapKeyType | 永続マップのキータイプを定義します。 |
MetaValue | 特定のエンティティータイプへ関連付けられる弁別子の値を表します。 |
NamedNativeQueries | Hibernate NamedNativeQuery オブジェクトを保持するよう NamedNativeQueries を拡張します。 |
NamedNativeQuery | Hibernate の機能で NamedNativeQuery を拡張します。 |
NamedQueries | Hibernate NamedQuery オブジェクトを保持するよう NamedQuery を拡張します。 |
NamedQuery | Hibernate の機能で NamedQuery を拡張します。 |
NaturalId | プロパティーがエンティティーのナチュラル ID の一部であることを指定します。 |
NotFound | 関連上で要素が見つからなかった時に実行するアクションです。 |
OnDelete | コレクションやアレイ、結合されたサブクラスの削除に使用されるストラテジーです。OnDelete の 2 次テーブルはサポートされていません。 |
OptimisticLock | アノテーション付けされたプロパティーの変更によってエンティティーのバージョン番号が増加するかどうか。アノテーション付けされていない場合、プロパティーは楽観的ロックストラテジー (デフォルト) に関与します。 |
OptimisticLocking | エンティティーに適用される楽観的ロックのスタイルを定義するため使用されます。階層ではルートエンティティーのみに有効です。 |
OrderBy | SQL の順序付け (HQL の順序付けではない) を使用してコレクションの順序を付けます。 |
ParamDef | パラメーターの定義。 |
パラメーター | キーと値のパターン。 |
Parent | 所有者 (通常は所有するエンティティー) へのポインターとしてプロパティーを参照します。 |
Persister | カスタムパーシスターを指定します。 |
Polymorphism | Hibernate がエンティティーの階層に適用する多様性タイプを定義するため使用されます。 |
Proxy | 特定クラスのレイジーおよびプロキシ設定。 |
RowId | Hibernate の ROWID マッピング機能をサポートします。 |
Sort | コレクションのソート (Java レベルのソート)。 |
接続元 | バージョンおよびタイムスタンプバージョンプロパティーと併用するのに最適なアノテーションです。アノテーション値はタイムスタンプが生成される場所を決定します。 |
SQLDelete | Hibernate のデフォルトである DELETE メソッドを上書きします。 |
SQLDeleteAll | Hibernate のデフォルトである DELETE ALL メソッドを上書きします。 |
SQLInsert | Hibernate のデフォルトである INSERT INFO メソッドを上書きします。 |
SQLUpdate | Hibernate のデフォルトである UPDATE メソッドを上書きします。 |
Subselect | 不変の読み取り専用エンティティーを指定のサブセレクト表現へマッピングします。 |
Synchronize | 自動フラッシュが適切に行われ、派生したエンティティーに対するクエリが陳腐データを返さないようにします。ほとんどの場合でサブセレクトと共に使用されます。 |
Table | 1 次または 2 次テーブルへの補足情報。 |
Tables | Table の複数アノテーション。 |
ターゲット | 明示的なターゲットを定義し、リフレクションやジェネリクスで解決しないようにします。 |
Tuplizer | 1 つのエンティティーまたはコンポーネントに対して単一の tuplizer を定義します。 |
Tuplizers | 1 つのエンティティーまたはコンポーネントに対して tuplizer のセットを定義します。 |
タイプ | Hibernate のタイプ。 |
TypeDef | Hibernate タイプの定義。 |
TypeDefs | Hibernate タイプ定義のアレイ。 |
Where | 要素エンティティーまたはコレクションのターゲットエンティティーへ追加する where 節。この節は SQL で書かれます。 |
WhereJoinTable | コレクション結合テーブルへ追加する where 節。この節は SQL で書かれます。 |