12
またはドメインモデルで構成されたドメイン層を作成し、データベースアクセスのためにJPAエンティティと対話しますか? 両方のアプローチの長所と短所は何ですか?ありがとう!ドメインモデルとしてJPAエンティティを使用するのは良い方法ですか?
またはドメインモデルで構成されたドメイン層を作成し、データベースアクセスのためにJPAエンティティと対話しますか? 両方のアプローチの長所と短所は何ですか?ありがとう!ドメインモデルとしてJPAエンティティを使用するのは良い方法ですか?
これは実際にドメインをどのようにコードするかによって異なります。
一般的に(Javaでは)永続性を使用するために別々のJPAアノテーション付きDTOを作成することをお勧めします。このようなのDTOはdbテーブルに一致し、
この方法では、ドメインモデルをdbスキーマから切り離して、両方を独立して進化させることができます。このアプローチの欠点は、書くコードを増やすことですが、私はそのようなコードがメンテナンスを書くのに非常に簡単で安いと感じています。
エンティティでJPAアノテーションを使用するのはかなり一般的なアプローチですが、ドメインモデルが進化して複雑になるにつれて、自分の経験は他のソリューションよりはるかに高価な問題に直面しなければならないということです。
あなたはその実装の公開プロジェクトを持っていますか? – heat
JPAプロバイダとしてHibernateを使用すると、ドメインオブジェクトをXMLでマップできます。これにより、JPAアノテーションからドメインオブジェクトをきれいに保つのに役立ちます。 –
それはまさに私がやることです。 意味があります;) – Mik378