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