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>