为hibernate和@Transactional配置spring数据源 [英] Configure spring datasource for hibernate and @Transactional

查看:215
本文介绍了为hibernate和@Transactional配置spring数据源的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

此时,我使用带有@Transactional批注的DriverManagerDataSource来管理事务。但是所有的事务都非常缓慢,可能是因为数据源每次打开和关闭连接到数据库。



我应该使用什么数据源来加速事务处理?

解决方案

DriverManagerDataSource 实际上并不是连接池,只能用于测试。您应该从中尝试 BasicDataSource 。例如:

 < bean id =dataSourcedestroy-method =close
class =org .apache.commons.dbcp.BasicDataSource>
< property name =driverClassNamevalue =$ {jdbc.driverClassName}/>
< property name =urlvalue =$ {jdbc.url}/>
< property name =usernamevalue =$ {jdbc.username}/>
< property name =passwordvalue =$ {jdbc.password}/>
< / bean>


At this moment I'm using DriverManagerDataSource with @Transactional annotation to manage transactions. But all transactions are very very slow, probably because data source open and close connection to db each time.

What data source should I use to speed up transaction?

解决方案

DriverManagerDataSource isn't actually a connection pool and should only be used for testing. You should try BasicDataSource from Apache Commons DBCP. Something like:

<bean id="dataSource" destroy-method="close" 
    class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="${jdbc.driverClassName}"/>
    <property name="url" value="${jdbc.url}"/>
    <property name="username" value="${jdbc.username}"/>
    <property name="password" value="${jdbc.password}"/>
</bean>

这篇关于为hibernate和@Transactional配置spring数据源的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆