我有一個應用程序使用一個數據庫,現在我有這個數據訪問配置文件配置。需要連接兩個數據庫Hibernate和JPA
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">
<!-- Instructs Spring to perfrom declarative transaction management on annotated classes -->
<tx:annotation-driven />
<!-- Drives transactions using local JPA APIs -->
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<!-- Creates a EntityManagerFactory for use with the Hibernate JPA provider and a simple in-memory data source populated with test data -->
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
</property>
</bean>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.postgresql.Driver" />
<property name="url" value="jdbc:postgresql://localhost:5432/database1" />
<property name="username" value="admin1" />
<property name="password" value="some_pass" />
</bean>
</beans>
它連接好,但現在我需要配置第二個數據庫(在同一臺服務器),試圖複製的EntityManagerFactory但拋出一個錯誤,即不能有兩個實體的經理在同一時間,以便即時通訊困惑這裏。我使用休眠+ JPA +彈簧
謝謝!
沒有我改名爲第二個實體。這是我從系統得到的消息:org.springframework.beans.factory.NoSuchBeanDefinitionException:致型[javax.persistence.EntityManagerFactory]定義的無獨特豆:預計一個bean,但發現2 – user1352643
您使用的註解? –
您可能得到的可能是Spring會嘗試通過它的類型來獲得一個bean,除非您專門說明了它的名稱。所以它正在尋找一個'EntityManagerFactor'對象,但找到2.因此它不知道要使用哪個對象。如果您使用註釋,則需要添加名稱。 –