現在、JCR (Modeshape) でテストアプリを実行しています。
抽象化されたフローは次のとおりです。
結果のノードには、ビューに表示する必要があるプロパティなどが含まれています。私は現在、ビューが jcrNode から直接プロパティを取得できるようにする単純なセットアップを行っています。ただし、これにより次のようなエラーが発生します。
一般的なアプローチ (そうでない場合は修正してください) は、セッションがまだアクティブなときに jcrNode によって入力されるある種の nodeDTO を作成することだと思います。その後、ビューは nodeDTO を自由に使用できるようになります。
さて、このような nodeDTO の完全な構造は、1 対 1 の jcrNode の構造を模倣するので、jcrNode を DTO 自体として使用してみませんか? これは、休止状態のデタッチ/アタッチに似た方法で実現できます。jcrNode (およびその子) には大量のデータが含まれている可能性があるため、分離の深さなどを決定するためのパラメーターがいくつかあるはずです。
別のアプローチは、mvc-framework 固有ですが、openSessionInView-pattern のようなものを使用することです。
したがって、これに対するいくつかのアプローチを見ることができますが、最初に最善のアプローチをとります(imo):
- jcrNodes のデタッチ/アタッチ機能
- DTO を作成するヘルパー クラスの優れたライブラリ
- openSessionInView
「ベストプラクティス」アプローチなどに関するコメントは大歓迎です。