【发布时间】:2011-06-11 00:25:37
【问题描述】:
大家好 在我的 Spring 应用程序中,我需要将 hibernate 与两个不同的数据库(PostgreSQL 和 MySQL)一起使用,而且我的配置不太好,所以我需要一些关于如何操作的指南
我正在为 hibernate-postgresql 使用以下配置
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="annotatedClasses">
<list>
<value>com.project.domain.myDomain</value>
</list>
</property>
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
</value>
</property>
</bean>
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.postgresql.Driver" />
<property name="url">
<value>${db.url}</value>
</property>
<property name="username" >
<value>${db.username}</value>
</property>
<property name="password">
<value>${db.password}</value>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean
class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor" />
在 DAO 中,我为 sessionFactory 进行了自动装配。
【问题讨论】:
-
您需要在两个数据库中持久化同一个实体,还是需要从一个数据库中获取一些实体,而从另一个数据库中获取一些实体?比如,“Person”在 MySQL 上,而“Order”在 PostgreSQL 上?
-
第二种方式,mysql中的一些实体和postgresql中的其他实体
-
您需要在单个事务中对两个数据库进行更改,还是不需要?
-
不,我不需要,每个数据库都需要单独的事务。
-
你能帮我解决配置问题吗stackoverflow.com/questions/4724633/…
标签: hibernate spring spring-mvc