2012-03-31 7 views
0

私は、HibernateとVelocityを使用するSpring Webアプリケーションを持っています。それはMVCアプリです。私はModelMapsをサービスレベルに渡します。また、サービスレベルでHibernate永続オブジェクトを使用します。私はこれらの "ドメイン"オブジェクトを持っています。これは、基本的にパーシスタンスオブジェクトと同じものですが、ModelMapに含める以外は速度を使用します。私の質問は、「ドメイン」オブジェクトを削除し、ModelMap内のパーシスタンスオブジェクトを使用するか、何らかの問題(パフォーマンス上の問題など)が発生する可能性がありますか?助けのための速度モデルにパーシネーションオブジェクトを使用することには欠点はありますか?

おかげで、 ジョー

答えて

0

は、限り、あなたはテンプレートを書き、そしてなく、いくつかのデザイナー(およびそれが後で変更されませんと仮定)されているとして、それはおそらく大丈夫です。

あなたの最大の落とし穴は、エラーをキャッチすることです。何かがロードされない場合は、レンダリングされたテンプレートの一部をすでにレスポンスに送っているかもしれません。したがって、出力をバッファリングしたいと思うかもしれません。VelocityLayoutServletは基本的にこれを基本的に行います(レイアウトテンプレート用ではなく、メインコンテンツ用)。 VelocityViewServletでは、設定を反転する必要があります。私は、どちらかというと、何も思い出さない。詳細については、VelocityViewクラスをご覧ください。

0

もう1つの問題は、レイジーローディングを使用する場合、Hibernateがビュー内でのみ使用しているデータをロードしたいのに、すでにSessionを閉じているというシナリオに陥る可能性が高いということです。 OpenSessionInViewパターンはあなたの周りにあなたを連れてきますが、それは常に清潔な解決策として見なされません(こちらも参照:Why is Hibernate Open Session in View considered a bad practice?

関連する問題