在Spring中一起配置JDBC和Hibernate

时间:2010-11-04 02:38:05

标签: java oracle hibernate spring jdbc

我们在ear文件中打包了多个war文件。一些战争正在使用纯JDBC,我们希望将hibernate用于新战争(模块)。我们使用的是spring 2.5.6,hibernate 3.0和jboss 4.2服务器。我们有针对transactionmanager的以下配置。

<bean id="dataSource"
        class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiName" value="java:MyPool" />
    </bean>

    <bean id="transactionManager"
        class="org.springframework.transaction.jta.JtaTransactionManager">
        <property name="allowCustomIsolationLevels">
            <value>true</value>
        </property>
    </bean>

它对我们来说很好。

现在我想在一个单独的xml文件中为新模块配置hibernate transactionManger。

 
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>  
    <property name="configLocation" value="classpath:/hibernate.cfg.xml"/>
  </bean>

通常我们按照以下方式配置hiberanate事务mangager。

  
<bean id="transactionManager"   class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory"/>
  </bean>

但我想使用为JDBC配置定义的相同JtaTransactionManager引用。请帮我配置一下。

1 个答案:

答案 0 :(得分:2)

如果你没有使用2阶段提交,你真的不需要JTA。只需配置Hibernate trans mgr,它就能够处理hibernate和jdbc事务。此链接也可能有用[{3}}