我正在开发一个使用 Spring 的 HibernateOpenSessionInViewFilter
和 AOP 版本的项目 - OpenSessionInterceptor
. AOP 拦截器是为 Quartz 作业配置的,以便在作业执行期间提供与 Web 请求期间相同的便利。
现在,我正在将这个项目从原生 Spring / Hibernate ORM 迁移到 Spring JPA,并使用 Hibernate 作为提供者。尽管OpenEntityManagerInViewFilter
Spring ORM 提供了一个(它与会话过滤器基本相同),但没有OpenEntityManagerInterceptor
或类似的东西。我无法弄清楚这里最好的方法是什么,所以问题是:
我应该编写自己的拦截器和/或摆弄这些SharedEntityManager
类,还是有其他方法?
注意:该项目现在使用 Spring 4.0、JPA 2.1 和 Hibernate 4.3 构建。