我有一个 Spring/JPA 应用程序,其中 Hibernate 作为 JPA 提供者。我通过以下方式在 Spring 中配置了 C3P0 数据源:
<bean id="myJdbcDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<!-- Connection properties -->
<property name="driverClass" value="$DS{database.class}" />
<property name="jdbcUrl" value="$DS{database.url}" />
<property name="user" value="$DS{database.username}" />
<property name="password" value="$DS{database.password}" />
<!-- Pool properties -->
<property name="minPoolSize" value="5" />
<property name="maxPoolSize" value="20" />
<property name="maxStatements" value="50" />
<property name="idleConnectionTestPeriod" value="3000" />
<property name="loginTimeout" value="300" />
然后,我在 Spring 实体管理器工厂中指定了该数据源,如下所示:
<bean id="myLocalEmf"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceUnitName" value="myapp-core" />
<property name="dataSource" ref="myJdbcDataSource" />
</bean>
然而,我最近在浏览 Maven 工件时注意到“hibernate-c3p0”。这是什么?这是我需要使用的东西吗?或者我已经正确配置了这个?
hibernate-c3p0.jar 提供了该类org.hibernate.connection.C3P0ConnectionProvider
,基于 C3P0 的 Hibernate 实现ConnectionProvider
合同。当您想要使用 C3P0 作为 Hibernate 的独立连接池(通过配置)时,您需要这个工件hibernate.cfg.xml
文件)。由于您使用的是 Spring,因此不需要它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)