@ManyToOneの属性の一覧を次の表に示します。
属性名 | 任意/必須 | 属性の説明 |
---|
targetEntity | 任意 | 被所有者側のエンティティクラスを指定する属性です。 |
cascade | 任意 | カスケード対象となるオペレーションを指定する属性です。 |
fetch | 任意 | フェッチ戦略の指定値を指定する属性です。 |
optional | 任意 | すべての非プリミティブ型のフィールドおよびプロパティの値にnull値を設定できるかどうかを指定する属性です。 |
Cosminexus JPAプロバイダで対応する属性の詳細を次に示します。
(a) targetEntity属性
- 型
- Class
- 説明
- 被所有者側のエンティティクラスを指定する属性です。
- デフォルト値
- アノテーションが付与されているフィールドやプロパティの型
(b) cascade属性
- 型
- CascadeType[]
- 説明
- カスケード対象となるオペレーションを指定する属性です。
- 指定できる値を次に示します。
- CascadeType.ALL:所有者側のエンティティクラスのpersist,remove,merge,およびrefreshの操作が関連先にカスケードされます。
- CascadeType.MERGE:所有者側のエンティティクラスのmerge操作が関連先にカスケードされます。
- CascadeType.PERSIST:所有者側のエンティティクラスのpersist操作が関連先にカスケードされます。
- CascadeType.REFRESH:所有者側のエンティティクラスのrefresh操作が関連先にカスケードされます。
- CascadeType.REMOVE:所有者側のエンティティクラスのremove操作が関連先にカスケードされます。
- デフォルト値
- カスケード対象なし
(c) fetch属性
- 型
- FetchType
- 説明
- データベースからのデータのフェッチ戦略を定義する属性です。フェッチ戦略については,マニュアル「Cosminexus アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「6.4.5 データベースとの同期」を参照してください。
- 指定できる値は,次の2種類です。
- EAGER戦略:データがEAGERにフェッチされなければならない要求
- LAZY戦略:データが最初にアクセスされるときに,LAZYにフェッチされる要求
- デフォルト値
- FetchType.EAGER
(d) optional属性
- 型
- boolean
- 説明
- すべての非プリミティブ型のフィールドおよびプロパティの値にnull値を指定できるかどうかを指定する属性です。指定できる値は,次のとおりです。
- true:すべての非プリミティブ型のフィールドおよびプロパティの値にnull値を設定できます。
- false:すべての非プリミティブ型のフィールドおよびプロパティの値にnull値を指定できません。
- デフォルト値
- true