我需要做類似於Injecting Entitymanager via XML and not annnotations中描述的東西,但我需要從XML注入真正的容器創建的實體管理器,以便它的行爲與存在一個真正的@PersistenceContext註釋。我找到了一個LocalEntityManagerFactoryBean(注意缺少「Container」字),但我擔心它會創建一個新的實體管理器工廠,因此實體管理器將不會與通過真正的@PersistenceContext註釋注入的實體管理器兼容。在Spring中從XML注入實體管理器
我將描述原因,因爲它很奇怪,也許我的問題的解決方案是選擇完全不同的方法。我在我的spring配置中使用PropertyPlaceholderConfigurer,在這個配置器中我引用了其他bean。我遇到的問題是自動裝配在這些引用的bean中不起作用。我不知道爲什麼以及PropertyPlaceholderConfigurer如何關閉那些引用的bean中的自動裝配,但事實是,如果我用這些bean的xml配置替換自動裝配,則一切正常。但是我無法取代EntityManager的自動裝配,因爲它不是標準的spring bean,但是jndi加載了一些我不完全理解的東西。
這樣或那樣,有沒有解決方法?
在彈簧bean.xml
據我所知,由'SharedEntityManagerBean'從您提到的答案創建的EntityManager'的行爲與通過'@ PersistenceContext'注入的'EntityManager'完全相同。 – axtavt
SharedEntityManagerBean需要注入entityManagerFactory,我不知道在那裏注入什麼。 –