用Hibernate对C3P0进行弹簧配置?

HDa*_*ave 10 spring hibernate c3p0

我有一个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" />
Run Code Online (Sandbox Code Playgroud)

然后我在Spring实体管理器工厂中指定了这个数据源,如下所示:

<bean id="myLocalEmf"
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
      <property name="persistenceUnitName" value="myapp-core" />
      <property name="dataSource" ref="myJdbcDataSource" />
 </bean>
Run Code Online (Sandbox Code Playgroud)

但是,我最近在浏览maven工件时注意到了"hibernate-c3p0".这是什么?这是我需要使用的东西吗?或者我已经正确配置了这个?

Pas*_*ent 10

hibernate-c3p0.jar提供了类org.hibernate.connection.C3P0ConnectionProvider,这是一个基于C3P0的Hibernate ConnectionProvider契约实现.当您想将C3P0用作Hibernate的独立连接池(通过该hibernate.cfg.xml文件配置)时,您需要此工件.因为你使用的是Spring,所以你不需要它.