7

クラスをWebアプリケーションに格納するためのJPA実装としてDataNucleusを使用しています。toDTO()私はすべてが持っているコンバーターのセットを使用しますfromDTO()

私の問題は、DB全体がネットワーク経由で送信されるのを避けたいということです。

  • ロードを遅延すると、コンバーターはすべてのフィールドにアクセスしようとし、ロードします(結果として非常に熱心なロードになります)。
  • 遅延読み込みを行わないと、ユーザーにはグループが含まれ、グループにはユーザーが含まれるなど、DBの大部分を取得します。

ロードしたクラスで、一部のフィールドを明示的にロードし、他のフィールドをNULLのままにする方法はありますか?運が悪かったので、DataNucleusのドキュメントを試しました。

4

2 に答える 2

3

あなたの DTO はおそらく細かすぎます。つまり、JPA エンティティごとに DTO を持つ予定はありません。DTO を使用する必要がある場合は、それらをより粗くし、手動で構築します。

最近、「DTO にするかしないか、それが問題だ」という議論が再びありました。それらの要件 (特に JPA アプリのコンテキストでは) はもはや存在しないことが多いですが、DTO の議論の 1 つは、ビューにはより粗いデータ要件があるという傾向があります。

于 2010-02-15T15:35:55.927 に答える