2005.10.24 株式会社四次元データ 瀧下 浩
Hibernate 6章 マッピングファイルの記述
- 6.1. DTD を見てみよう
- 6.2. class 要素
- 6.3. id 要素
- 6.4. generator 要素
- 6.5. property 要素
- 6.6. many-to-one 要素
- 6.7. one-to-one 要素
6.6 many-to-one 要素
別の永続化クラスをプロパティに持つ場合、property 要素ではなく、 many-to-one 要素もしくは、次節で説明する one-to-one 要素を使います。
<many-to-one name="propertyName" (1) column="column_name" (2) class="ClassName" (3) cascade="all|none|save-update|delete" (4) outer-join="true|false|auto" (5) update="true|false" (6) insert="true|false" (6) property-ref="propertyNameFromAssociatedClass" (7) access="field|property|ClassName" (8) />
番号 | 名前 | 必須 | 説明 |
---|---|---|---|
(1) | name | ○ | プロパティー名 |
(2) | column | optional | カラム名 |
(3) | class | optional | 関連付けられたクラス名 |
(4) | cascade | optional | どのオペレーションが、親オブジェクトから関連付けられたオブジェクトにカスケードするかを指定する。 例えば、delete が指定されていた場合、親オブジェクトの delete に伴い、この関連オブジェクトも delete される。 |
(5) | outer-join | optional | Session#load(Class, Serializable) や Session#get(Class, Serializable) を利用する場合のみ有効。 |
(6) | update,insert | optional | property 要素の同属性と同じ |
(7) | property-ref | optional | この外部キーに関連付けられたクラスのプロパティーの名前。 デフォルトでは、関連付けられたクラスの識別子プロパティが使われる。 |
(8) | access | optional | property 要素の同属性と同じe |
6.7 one-to-one 要素
別の永続化クラスと一対一でマッピングされる場合は、many-to-one 要素ではなく、one-to-one 要素を利用します。
<one-to-one name="propertyName" (1) class="ClassName" (2) cascade="all|none|save-update|delete" (3) constrained="true|false" (4) outer-join="true|false|auto" (5) property-ref="propertyNameFromAssociatedClass" (6) access="field|property|ClassName" (7) />
番号 | 名前 | 必須 | 説明 |
---|---|---|---|
(1) | name | ○ | プロパティー名 |
(2) | class | optional | 関連付けられたクラス名 |
(3) | cascade | optional | many-to-one 要素の cascade 属性と同じ。 |
(4) | constrained | optional | このプロパティに対応するテーブルのカラムが、関連付けられたクラスのテーブルに対する外部参照制約を持つことを示す。 カスケードの順序に影響を与える。 |
(5) | outer-join | optional | many-to-one 要素の outer-join 属性と同じ |
(6) | property-ref | optional | many-to-one 要素の property-ref 属性と同じ |
(7) | access | optional | property 要素の同属性と同じe |