Hibernate和Spring使用DataSourceTransactionManager事务管理器 Hibernate如何配置‘’
时间: 2024-02-13 18:34:27 浏览: 94
在使用Hibernate和Spring的时候,可以通过配置DataSourceTransactionManager来实现事务管理。下面是一个示例配置:
```
<!-- 配置数据源 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driverClass}"/>
<property name="jdbcUrl" value="${jdbc.jdbcUrl}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<!-- 配置SessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="packagesToScan" value="com.example.model"/>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
<prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
</props>
</property>
</bean>
<!-- 配置事务管理器 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<!-- 开启注解事务支持 -->
<tx:annotation-driven transaction-manager="transactionManager"/>
```
在这个配置中,我们首先配置了数据源,然后配置了SessionFactory,包括指定要扫描的实体类所在的包和Hibernate的一些属性。最后配置了DataSourceTransactionManager作为事务管理器,并开启了注解事务支持。这样,在使用Hibernate进行数据库操作时,就可以使用@Transactional注解指定方法需要进行事务管理。
阅读全文