Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

13.3. Hibernate アノテーション

13.3.1. Hibernate アノテーション

表13.7 Hibernate で定義されたアノテーション

Annotation Description
AccessType プロパティーアクセスタイプ。
すべて 複数のエンティティータイプを参照するトール関連付けを定義します。一致したエンティティータイプのマッチングは、メタデータの識別子コラムを使用して行われます。このようなマッピングはマージのみにする必要があります。
AnyMetaDef @Any および @ManyToAny メタデータを定義します。
AnyMedaDefs @Any および @ManyToAny のメタデータセットを定義します。エンティティーレベルまたはパッケージレベルで定義できます。
BatchSize SQL 読み込みのバッチサイズ。
Cache キャッシュストラテジーをルートエンティティーまたはコレクションに追加します。
Cascade 関連付けにカスケードストラテジーを適用します。
Check クラス、プロパティー、またはコレクションレベルで定義できる任意の SQL チェック制約。
Columns 列のアレイをサポートします。コンポーネントのユーザータイプマッピングに便利です。
ColumnTransformer 値をコラムから読み取り、コラムに書き込むために使用するカスタムの SQL 式。クエリーとともにオブジェクトの直接読み込み/保存に使用します。書き込み式には、値に対して 1 つの '?' プレースホルダーが必ず含まれている必要があります。
ColumnTransformers @ColumnTransformer の複数のアノテーション複数のコラムがこの動作を使用している場合に便利です。
DiscriminatorFormula ルートエンティティーに配置されるイデンティターの式。
DiscriminatorOptions Hibernate 固有の識別子プロパティーを表示するオプションのアノテーションです。
エンティティー Hibernate 機能でエンティティーを拡張します。
Fetch 指定の関連付けに使用されるフェッチストラテジーを定義します。
FetchProfile フェッチストラテジープロファイルを定義します。
FetchProfiles @FetchProfile の複数形のアノテーション。
フィルター フィルターをエンティティーまたはコレクションのターゲットエンティティーに追加します。
FilterDef フィルター定義。
FilterDefs フィルター定義の配列。
FilterJoinTable フィルターを結合テーブルコレクションに追加します。
FilterJoinTables 複数の @FilterJoinTable をコレクションに追加します。
フィルター 複数の @Filter を追加します。
Formula 大半の場所で、@Column の代わりとして使用するために使用されます。式は有効な SQL フラグメントである必要があります。
Generated このアノテーション付きプロパティーはデータベースによって生成されます。
GenericGenerator タイプ解除された方法で、あらゆる Hibernate generator を記述するジェネレーターアノテーション。
GenericGenerators 汎用ジェネレーター定義のアレイ。
Immutable
エンティティーまたはコレクションにイミュータブルとしてマークを付けます。アノテーションがないということは、要素が変更されたことを意味します。
イミュータブルなエンティティーはアプリケーションによって更新されない可能性があります。イミュータブルなエンティティーの更新は無視されますが、例外は発生しません。
@Immutable をコレクションに配置すると、コレクションがイミュータブルな状態になり、コレクションへの追加および削除は許可されません。この場合、HibernateException が発生します。
Index データベースインデックスを定義します。
JoinFormula 大半の場所で、@JoinColumn の代わりとして使用するために使用されます。式は有効な SQL フラグメントである必要があります。
LazyCollection コレクションのレイジーステータスを定義します。
LazyToOne ToOne 関連づけのレイジーステータスを定義します (OneToOne または ManyToOne)。
Loader Hibernate デフォルトの FIND メソッドを上書きします。
ManyToAny 異なるエンティティータイプを参照する ToMany 関連付けを定義します。一致したエンティティータイプのマッチングは、メタデータの識別子コラムを使用して行われます。このようなマッピングはマージのみにする必要があります。
MapKeyType 永続マップのキーのタイプを定義します。
MetaValue 特定のエンティティータイプに関連付けられた識別子の値を表します。
NamedNativeQueries NamedNativeQueries を拡張して、Hibernate NamedNativeQuery オブジェクトを保持します。
NamedNativeQuery Hibernate 機能を使用した NamedNativeQuery の拡張
NamedQueries NamedQuery を拡張して Hibernate NamedQuery オブジェクトを保持します。
NamedQuery Hibernate 機能を使用して NamedQuery を拡張します。
NaturalId プロパティーがエンティティーの純粋な ID の一部であることを指定します。
NotFound 要素が関連上に見つからない場合に行うアクション。
OnDelete コレクション、アレイ、および結合されたサブクラスの削除で使用するストラテジー。現在、セカンダリーテーブルの OnDelete はサポートされていません。
OptimisticLock アノテーションが付けられたプロパティーの変更によってエンティティーバージョンの増分がトリガーされるかどうか。アノテーションが存在しない場合は、プロパティーが楽観的ロックストラテジーに関与します (デフォルト)。
OptimisticLocking エンティティーに適用される楽観的ロックのスタイルを定義するために使用されます。階層では、ルートエンティティーでのみ有効です。
OrderBy SQL 順序付け (HQL の順序ではなく) を使用してコレクションを順序付けます。
ParamDef パラメーター定義。
パラメーター キー/値のパターン。
Parent プロパティーを所有者 (通常は所有するエンティティー) へのポインターとして参照します。
Persister カスタム永続機能を指定します。
Polymorphism ポリモーフィズム Hibernate のタイプを定義するために使用されます。
Proxy 特定のクラスのレイジーおよびプロキシー設定。
RowId Hibernate の ROWID マッピング機能のサポート。
Sort コレクションのソート (Java レベルのソート)。
Source Version および timestamp version プロパティーと併せてのオプションのアノテーションです。アノテーションの値で、タイムスタンプの生成先が決まります。
SQLDelete Hibernate デフォルトの DELETE メソッドを上書きします。
SQLDeleteAll Hibernate のデフォルト DELETE ALL メソッドを上書きします。
SQLInsert Hibernate のデフォルト INSERT INTO メソッドを上書きします。
SQLUpdate Hibernate デフォルトの UPDATE メソッドを上書きします。
Subselect イミュータブルで読み取り専用のエンティティーを指定の SQL サブ選択式にマッピングします。
Synchronization 自動フラッシュが正しく実行され、派生エンティティーに対するクエリーが古いデータを返さないようにします。大半は Subselect とともに使用されます。
テーブル プライマリーまたはセカンダリーのテーブルに情報を補完します。
Tables Table の複数形のアノテーション。
Target 明示的なターゲットを定義し、反映および汎用的な解決を回避します。
Tuplizer エンティティーまたはコンポーネントの tuplizer を定義します。
Tuplizers エンティティーまたはコンポーネントの一連の tuplizer を定義します。
タイプ Hibernate タイプ。
TypeDef Hibernate タイプ定義。
TypeDefs Hibernate タイプ定義の配列。
Where コレクションのエンティティーまたはターゲットエンティティーに追加する要素。レシピは SQL で記述されます。
WhereJoinTable コレクションジョインテーブルに追加する部分。レシピは SQL で記述されます。
備考
アノテーション「Entity」は非推奨となり、今後のリリースで削除される予定です。