spring之多SessionFactory

一. 问题

有很多人使用Spring2.0配置多个SessionFactory的时候,遭遇了失败。
这并不是你的错误,而是版本出现了问题。

二. 解决方案

Spring初始的2.0版本并没有纳入多SessionFactory的支持,我在项目中
换到版本2.0.7是支持的。

配置参数
数据库: mysql5.0, mssql2003
spring: 2.0.7
hibernate: 3.0

Jboss jndi 数据源:
<jee:jndi-lookup id="MainSource" jndi-name="java:/MainDS"/>
<jee:jndi-lookup id="SubDatasource" jndi-name="java:/SubDS"/>

spring SessionFactory声明:
<bean id="mainSessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource" ref="MainSource"/>
        <property name="mappingResources">
            <list>
                <value>com/moon/test/model/TestObject1.hbm.xml</value>
            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.format_sql">true</prop>
            </props>
        </property>
    </bean>
<bean id="subSessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource" ref="SubDatasource"/>
        <property name="mappingResources">
            <list>
                <value>com/moon/test/model/TestObject2.hbm.xml</value>
            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.format_sql">true</prop>
            </props>
        </property>
    </bean>


事务配置:采用JTA事务
<bean id="txManager" class="org.springframework.transaction.jta.JtaTransactionManager" />



你可能感兴趣的:(spring,Hibernate,xml,jboss)