2013-04-05 9 views

答えて

14

これは実際にドメインをどのようにコードするかによって異なります。

一般的に(Javaでは)永続性を使用するために別々のJPAアノテーション付きDTOを作成することをお勧めします。このようなのDTOはdbテーブルに一致し、

  • がクライアントに
  • に戻るには、ドメインオブジェクトを初期化するために工場を使用するなどのDTOに対してクエリを実行しますセマンティックAPI
  • を公開することをカスタムリポジトリ内で使用されますクライアント

この方法では、ドメインモデルをdbスキーマから切り離して、両方を独立して進化させることができます。このアプローチの欠点は、書くコードを増やすことですが、私はそのようなコードがメンテナンスを書くのに非常に簡単で安いと感じています。

エンティティでJPAアノテーションを使用するのはかなり一般的なアプローチですが、ドメインモデルが進化して複雑になるにつれて、自分の経験は他のソリューションよりはるかに高価な問題に直面しなければならないということです。

+1

あなたはその実装の公開プロジェクトを持っていますか? – heat

+0

JPAプロバイダとしてHibernateを使用すると、ドメインオブジェクトをXMLでマップできます。これにより、JPAアノテーションからドメインオブジェクトをきれいに保つのに役立ちます。 –

+0

それはまさに私がやることです。 意味があります;) – Mik378

関連する問題