我正在尝试设置我的 spring/hibernate 项目以使用主/从数据库设置。
事务似乎在春季起作用(例如,当我尝试在注释为 @Transactional(readOnly=true) 的方法中使用 hibernateTemplate.merge() 时出现异常)。但是hibernate不会在注解的方法中使用从数据库。
@Transactional(只读=真)。
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.ReplicationDriver"/>
<property name="url" value="jdbc:mysql:replication://master:3306,slave:3306/proust"/>
<property name="username" value="username"/>
<property name="password" value="password"/>
</bean>
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<tx:annotation-driven transaction-manager="transactionManager"/>
然后我注释经理类或 DAO 类:
@Transactional(readOnly = true)
...和一些方法
@Transactional(readOnly = false)
我希望类中的一些方法对主服务器执行,一些对从服务器执行,但它们都对主服务器执行。我可能做错了什么?