我有一个使用Spring 3.0.x的旧项目,并使用了Spring提供的JpaTemplate
实现。
但是,在升级到Spring 4.0.x之后,我了解到从Spring 3.2开始不推荐使用JpaTemplate
我看到了一些建议,可以将JpaTemplate
重构为EntityManager
。
但是,用JpaTemplate
替换EntityManager
是不够的,因为我发现该项目将JpaTemplate
调用包装在JpaCallback
中,而ojit_code则使用了entitymanager。我想象使用回调的原因是允许这些DAO调用异步运行。
关于升级到Spring 4时如何重构使用JpaTemplate和JpaCallback类的应用程序,是否有任何建议建议?
最佳答案
除了替换JPATemplate
之外,还应该使用<context:annotation-config />
启用注释配置,或者配置PersistenceAnnotationBeanPostProcessor
以便将EntityManager
注入DAO中。
如果已激活<context:component-scan />
,则可以使用迁移前的所有功能。