1

Eric Evans による DDD の本から:

VALUE OBJECTS は ENTITIES を参照することさえできます。たとえば、オンライン マップ サービスに、サンフランシスコからロサンゼルスまでの風光明媚なドライブ ルートを尋ねると、LA とサンフランシスコをパシフィック コースト ハイウェイ経由で結ぶ Route オブジェクトが生成される可能性があります。Route オブジェクトが参照する 3 つのオブジェクト (2 つの都市と高速道路) はすべて ENTITIES ですが、その Route オブジェクトは VALUE になります。

98ページ

Hibernate では、値オブジェクトがあれば、それをコンポーネントとしてマップできます。そのコンポーネントからエンティティ フォームを参照したい場合はどうすればよいですか?

例:

  • ユーザーテーブルがあります。
  • 各ユーザーは多くのアドレスを持つことができます。
  • アドレス テーブルを作成しますが、アドレスをドメイン内の値オブジェクトとして扱います。
  • 各住所にはタイプがあります (勤務先住所、自宅住所など)。
  • ルックアップとしてアドレス タイプ テーブルを作成し、それをドメイン内のエンティティとして扱います。
  • アドレスには、その型への参照が必要です。

どうすればそれを達成できますか?

4

1 に答える 1

1

ドキュメントを参照してください。

この<component>要素は、子オブジェクトのプロパティを親クラスのテーブルの列にマップします。コンポーネントは、独自のプロパティ、コンポーネント、またはコレクションを宣言できます。以下の「コンポーネント」を参照してください。

<component>                 <!-- NOTE: I'm omitting the attributes. See docs for details on these. -->
       <property ...../>
       <many-to-one .... />
       ........
</component>

上記の例propertymany-to-oneコードに注目してください。別のエンティティへの参照を作成するにmany-to-oneは、コンポーネントの外側と同じように、コンポーネントの内側で を使用するだけです。

于 2013-11-11T14:30:34.707 に答える