8

ドメイン オブジェクトは JPA エンティティと同じですか? 値オブジェクト (ドル紙幣など) がある場合、それを参照オブジェクトとしてデータストアに格納するにはどうすればよいでしょうか (または格納すべきでしょうか)。

場合によってはエンティティであり、他の場合では値オブジェクトであるドメインオブジェクトの微妙な点は何ですか? 誰か私にこれに関する良い論文を教えてもらえますか?

4

4 に答える 4

9

「ドメイン オブジェクト」はより概念的な用語です。「JPA エンティティ」とは、ドメイン オブジェクトの実装に役立つ特定のテクノロジを指します。

通常、ドメイン オブジェクトはドメイン内の名詞 (注文、請求書、顧客など) に対応します。通常、これらは純粋なデータ転送オブジェクトではなく、データベースに近いものとして認識されます。たとえば、ドメイン オブジェクトの実装に使用するクラスに ORM アノテーションが表示されることがあります。

多くの人が貧弱な方法でドメイン オブジェクトを実装しています。ほとんどの場合、ORM マッピングを持つプロパティですが、ドメイン オブジェクト自体に実際のロジックはありません。彼らはロジックをドメインサービスに入れました。

一方、ドメイン駆動設計の支持者は、ロジックをドメイン オブジェクトに配置します。

どちらにしても、これらはシステム内のドメイン オブジェクトです。

JPA エンティティは、@Entity、@Column、@ManyToOne などで注釈を付けるクラスです。これは、ドメイン オブジェクトを実装する方法です。上記のように、オブジェクト自体にドメイン ロジックを配置することもできます。

于 2013-01-31T20:54:43.027 に答える