日期:2014-05-16  浏览次数:20559 次

Spring Hibernate 多数据库配置
以下代码是从SpringReference中copy过来的:
<beans> 

    <bean   id= "myDataSource1 "   class= "org.springframework.jndi.JndiObjectFactoryBean "> 
        <property   name= "jndiName   value= "java:comp/env/jdbc/myds1 "/> 
    </bean> 

    <bean   id= "myDataSource2 "   class= "org.springframework.jndi.JndiObjectFactoryBean "> 
        <property   name= "jndiName "   value= "java:comp/env/jdbc/myds2 "/> 
    </bean> 

    <bean   id= "mySessionFactory1 "   class= "org.springframework.orm.hibernate.LocalSessionFactoryBean "> 
        <property   name= "dataSource "   ref= "myDataSource1 "/> 
        <property   name= "mappingResources "> 
            <list> 
                <value> product.hbm.xml </value> 
            </list> 
        </property> 
        <property   name= "hibernateProperties "> 
            <props> 
                <prop   key= "hibernate.dialect "> net.sf.hibernate.dialect.MySQLDialect </prop> 
            </props> 
        </property> 
    </bean> 

    <bean   id= "mySessionFactory2 "   class= "org.springframework.orm.hibernate.LocalSessionFactoryBean "> 
        <property   name= "dataSource "   ref= "myDataSource2 "/> 
        <property   name= "mappingResources "> 
            <list> 
                <value> inventory.hbm.xml </value> 
            </list> 
        </property> 
        <property   name= "hibernateProperties "> 
            <props> 
                <prop   key= "hibernate.dialect "> net.sf.hibernate.dialect.OracleDialect </prop> 
            </props> 
        </property> 
    </bean> 

    <bean   id= "myTxManager "   class= "org.springframework.transaction.jta.JtaTransactionManager "/> 

    <bean   id= "myProductDao "   class= "product.ProductDaoImpl "> 
        <property   name= "sessionFactory "   ref= "mySessionFactory1 "/> 
    </bean> 

    <bean   id= "myInventoryDao "   class= "product.InventoryDaoImpl "> 
        <property   name= "sessionFactory "   ref= "mySessionFactory2 "/> 
    </bean> 

    <bean   id= "myProductServiceTarget "   class= "product.ProductServiceImpl "> 
        <property   name= "productDao "   ref= "myProductDao "/> 
        <property   name= "inventoryDao "   ref= "myInventoryDao "/> 
    </bean> 

    <bean   id= "myProductService " 
            class= "org.springframework.transaction.interceptor.TransactionProxyFactoryBean "> 
        <property   name= "transactionManager "   ref= "myTxManager "/> 
        <property   name= "target "   ref= "myProductServiceTarget "/> 
        <property   name= "transactionAttributes "> 
            <props> 
                <prop   key= "increasePrice* "> PROPAGATION_REQUIRED </prop> 
                <prop   key= "someOtherBusinessMethod "> PROPAGATION_REQUIRES_NEW </prop> 
                <prop   key= "* "> PROPAGATION_SUPPORTS,readOnly </prop> 
            </props> 
        </property> 
    </bean> 

</beans>