0

我在我的系統中使用了多個數據庫。我使用AtomikosDataSourceBean在多個dbs之間啓用xa分佈式事務。使用Spring Java定義多個entityManagerFactory bean @Configuration

spring-configuration.xml文件我可以創建兩個單獨的豆EntityManagerFactory讓我們說一下entityManagerFactory1和entityManagerFactory2。但是當我使用Spring Java @Configuration來做這件事時,我會遇到錯誤。

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'entityManagerFactory' is defined 

如果我創建一個爲entityManagerFactory的,另一個爲entityManagerFactory1然後我得到錯誤的

Caused by: java.lang.IllegalArgumentException: Not an managed type: class com.tom.boon.core.model.Person 

爲entityManagerFactory1下創建Enitities。

有人可以幫我弄清楚如何在Spring Java @Configuration中定義兩個separte entityManagerFactory。

回答

0

您並不真正提供有關您的配置的詳細信息。假設這些都是非常簡單的,因爲他們應該是,那麼你有兩個豆定義:entityManagerFactory1和entityManagerFactory2

你需要通過@Resource引用這些對於第一次使用如下:

@Resource(name = "entityManagerFactory1") 
EntityManager entityManager 

和其他用法:

@Resource(name = "entityManagerFactory2") 
EntityManager entityManager 

這應該工作,除非別的錯誤。如果是這種情況,請提供更多關於你在做什麼的細節。希望這可以幫助。

+0

我的問題是不同的。你的答案是我將如何從一個類訪問兩個不同的實體管理器。但我想知道如何在一個配置類中定義多個實體管理器。 – Suvasis

相關問題