我有一个现有的项目,目前有一个实体管理器,我需要为一个单独的数据源添加另一个。实体管理器在spring xml应用程序上下文中定义,并以
连接@PersistenceContext
private EntityManager entityManager;
当我在启动弹簧抱怨时连接我的其他实体管理器因为它期望单个bean但找到两个因为我没有在我的原始实体管理器上定义unitname。因此总是调用findDefaultEntityManagerFactory。
我不想去修改@PersistenceContext注释并将单位名称添加到所有这些注释中,这不是一个选项。
因此,搜索之后的方法似乎是定义一个在PersistenceAnnotationBeanPostProcessor类中的defaultPersistenceUnitName。阅读本课程的评论有以下注释
<p>Note: A default PersistenceAnnotationBeanPostProcessor will be registered
* by the "context:annotation-config" and "context:component-scan" XML tags.
* Remove or turn off the default annotation configuration there if you intend
* to specify a custom PersistenceAnnotationBeanPostProcessor bean definition.
所以我的问题如下:
如何关闭默认注释配置,如上面的注释?这是否只是从xml中删除它?如果我删除它将如何自动装配我所有其他类
如果上下文:annotation-config不在spring xml文件中,该文件定义了实体管理器,但是在一个导入到该文件中的文件中,会发生什么?我是否也需要将其从那里删除?
由于