私はアーキテクチャ Hibernate/JPA/Spring/Zk に取り組んでいますが、フレームワークをたくさん学ばなければならないので、最近は質問を増やしています。
数日間頭を悩ませている質問があります。
Hibernate トランザクションを維持して遅延読み込みを行う「パターン」 OpenSessionInView について聞いたことがあります。また、模様がきれいではないという声も多くあります。
一方、拡張された PersistentContext はスレッドセーフではないため、entityManager を存続させるのには適していないと言われています。
では、これらの問題に対する本当の解決策は何ですか? これらの問題は、特に必要に応じて重いコレクションをロードするために遅延ロードを使用することで、より多くの可能性を可能にする ajax の導入から生じると思います。
とりあえず、 @PersistenceContext を拡張モードで試してみました。動作しています... JUnit テスト用に設定する必要がありましたが、それ以上の構成なしで遅延読み込みを使用して Web アプリケーションでも動作しています。
フレームワーク (Spring、JPA 2.0) の進化は、PersistentContext での作業がより簡単になり、より「クリーン」になったことを意味しますか?
そうでない場合、Spring の OpenSessionInViewFilter を使用して、トランザクション モードで PersistentContext を置き換える必要がありますか?
ありがとうございました。