我有一个使用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 />,则可以使用迁移前的所有功能。

07-24 18:30