Hibernate支持第三方的连接池,官方推荐的连接池是C3P0,Proxool,以及DBCP。在配置连接池时需要注意的有三点:
一、Apche的DBCP在Hibernate2中受支持,但在Hibernate3中已经不再推荐使用,官方的解释是这个连接池存在缺陷。如果你因为某种原因需要在Hibernate3中使用DBCP,建议采用JNDI方式。
二、默认情况下(即没有配置连接池的情况下),Hibernate会采用内建的连接池。但这个连接池性能不佳,且存在诸多BUG(笔者在连接oralce数据库的程序中就使用了默认,结果一个晚上没操作隔天就报错说连接已过期),因此官方也只是建议仅在开发环境下使用。
一、Apche的DBCP在Hibernate2中受支持,但在Hibernate3中已经不再推荐使用,官方的解释是这个连接池存在缺陷。如果你因为某种原因需要在Hibernate3中使用DBCP,建议采用JNDI方式。
二、默认情况下(即没有配置连接池的情况下),Hibernate会采用内建的连接池。但这个连接池性能不佳,且存在诸多BUG(笔者在连接oralce数据库的程序中就使用了默认,结果一个晚上没操作隔天就报错说连接已过期),因此官方也只是建议仅在开发环境下使用。
另外,有一些外国文章称C3P0在性能上有点缺陷(它的算法不是最优的),Proxool是负面评价最少的一个。
如果真想使用C3P0,可以参考如下方法:
1.为项目添加jar包——c3p0-0.9.1.jar