我正在研究体系结构Hibernate/JPA/Spring/Zk,并且我现在增加了许多问题,因为我必须学习很多框架。OpenSessionInView vs PersistentContext(扩展)
我有一个问题让我困惑了好几天。
我听说有关“模式”的OpenSessionInView来保持Hibernate事务处于活动状态以进行延迟加载。 许多人也说这种模式不是很干净。
另一方面,据说PersistentContext扩展不是线程安全的,因此不适合保持活动entityManager。
那么,这些问题的真正解决方案是什么? 我认为这些问题来自于引入ajax,它允许更多的可能性,特别是在需要时使用延迟加载来加载一些重集合。
现在,我在扩展模式下尝试了@PersistenceContext。它正在工作...... 我必须为我的JUnit测试设置它,并且它在我的Web应用程序中也可以工作,不需要更多配置就可以进行延迟加载。
是否框架(Spring,JPA 2.0)的演变意味着它现在更容易,更“干净”与PersistentContext一起工作?
如果情况并非如此,我们是否应该使用Spring的OpenSessionInViewFilter并以事务模式替换PersistentContext?
谢谢。