【问题标题】:Multiple Connections + JPA + Spring多连接 + JPA + Spring
【发布时间】:2015-01-15 18:21:31
【问题描述】:

我有 2 个 DataSource 连接,我正在指定每个连接应该使用哪个类,但我仍然遇到一些异常:

这是我的 applicationContext.xml

    <context:component-scan base-package="com.example.video"/> 
    <context:annotation-config/>
    <tx:annotation-driven />  
    <jee:jndi-lookup id="VOD" jndi-name="java:comp/env/jdbc/VOD" />
    <jee:jndi-lookup id="SB" jndi-name="java:comp/env/jdbc/SB" />



     <bean id="entityManagerFactory"
        class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="dataSource" ref="VOD" />
        <property name="packagesToScan" value="com.example.video" />
        <property name="persistenceProviderClass" value="org.hibernate.ejb.HibernatePersistence" />
        <property name="jpaProperties">
                <props>
                        <prop key="hibernate.hbm2ddl.auto">validate</prop>
                </props>
        </property>
    </bean>

    <bean id="transactionManager" 
        class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory" ref="entityManagerFactory"/>
    </bean> 


     <bean id="entityManagerFactorySB"
        class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="dataSource" ref="SB" />
        <property name="packagesToScan" value="com.example.service" />
        <property name="persistenceProviderClass" value="org.hibernate.ejb.HibernatePersistence" />
        <property name="jpaProperties">
                <props>
                        <prop key="hibernate.hbm2ddl.auto">validate</prop>
                </props>
        </property>
    </bean>

    <bean id="transactionManagerSB" 
       class="org.springframework.orm.jpa.JpaTransactionManager">
            <property name="entityManagerFactory" ref="entityManagerFactorySB"/>
    </bean> 

    <jpa:repositories base-package="com.example.video"
                        entity-manager-factory-ref="entityManagerFactory" 
                        transaction-manager-ref="transactionManager"/>

    <jpa:repositories base-package="com.example.service"
                      entity-manager-factory-ref="entityManagerFactorySB" 
transaction-manager-ref="transactionManagerSB"/>

这是我的 persistence.xml

  <persistence-unit name="VOD" transaction-type="RESOURCE_LOCAL">

       <provider>org.hibernate.ejb.HibernatePersistence</provider>
       <class>com.example.video.model.Product</class>
                             .
                             .
       <class>com.example.video.model.Task</class>
       <exclude-unlisted-classes>true</exclude-unlisted-classes> 

       <properties>

            <property name="hibernate.dialect"  value="org.hibernate.dialect.Oracle10gDialect" />
            <property name="hibernate.show_sql" value="true" />
            <property name="hibernate.format_sql" value="true" />
            <property name="hibernate.transaction.factory_class" value="org.hibernate.transaction.JDBCTransactionFactory" /> 
            <property name="hibernate.hbm2ddl.auto" value="update" />
       </properties>

    </persistence-unit>
   <persistence-unit name="SB" transaction-type="RESOURCE_LOCAL">

       <provider>org.hibernate.ejb.HibernatePersistence</provider>
       <class>com.example.service.model.ChargingInfo</class>
       <exclude-unlisted-classes>true</exclude-unlisted-classes>

    </persistence-unit>
</persistence>

这是个例外: 引起:org.hibernate.HibernateException:缺少表:CHARGINGINFO

【问题讨论】:

  • 你的数据库中有CHARGINGINFO表吗?
  • 是的,数据库没问题。

标签: java spring hibernate spring-mvc jpa


【解决方案1】:

你检查过 MergingPersistenceUnitManager http://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.misc.merging-persistence-units 允许您将多个持久性提供程序合并为一个。

【讨论】:

    【解决方案2】:

    发现问题,只需要从 applicationContext.xml 中删除该行

    验证

    从 bean 声明然后它工作正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-09-28
      • 2021-12-15
      • 1970-01-01
      • 2021-07-12
      • 2018-11-21
      • 2018-11-17
      • 2020-08-30
      • 1970-01-01
      相关资源
      最近更新 更多