【发布时间】:2013-12-29 19:43:32
【问题描述】:
我正在开发一个带有休眠和 c3p0 连接池的独立 Java 应用程序。我在应用程序中有一组数据,我想将新记录保存到远程 MySQL 数据库。
我所做的只是遍历集合,查询数据库中的记录,如果找不到则保存。每次迭代,我使用sessionFactory.getCurrentSession() 获取会话。
但是这种方法似乎很慢。并且数据库进程列表显示始终只有一个连接处于活动状态。
这是我的 c3p0 配置
<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.max_size">20</property>
<property name="hibernate.c3p0.timeout">1800</property>
<property name="hibernate.c3p0.max_statements">50</property>
那么我该如何改进呢?我是否需要为休眠或 mysql 进行额外配置?还是可以用多线程来做?
【问题讨论】:
-
你有
<property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>吗?
标签: java mysql hibernate connection-pooling c3p0