我正在研究體系結構Hibernate/JPA/Spring/Zk,並且我現在增加了許多問題,因爲我必須學習很多框架。OpenSessionInView vs PersistentContext(擴展)
我有一個問題讓我困惑了好幾天。
我聽說有關「模式」的OpenSessionInView來保持Hibernate事務處於活動狀態以進行延遲加載。 許多人也說這種模式不是很乾淨。
另一方面,據說PersistentContext擴展不是線程安全的,因此不適合保持活動entityManager。
那麼,這些問題的真正解決方案是什麼? 我認爲這些問題來自於引入ajax,它允許更多的可能性,特別是在需要時使用延遲加載來加載一些重集合。
現在,我在擴展模式下嘗試了@PersistenceContext。它正在工作...... 我必須爲我的JUnit測試設置它,並且它在我的Web應用程序中也可以工作,不需要更多配置就可以進行延遲加載。
是否框架(Spring,JPA 2.0)的演變意味着它現在更容易,更「乾淨」與PersistentContext一起工作?
如果情況並非如此,我們是否應該使用Spring的OpenSessionInViewFilter並以事務模式替換PersistentContext?
謝謝。