10

JPA プロバイダーとして Hibernate を使用する Spring/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」であることに気付きました。これは何ですか?これは私が使用する必要があるものですか?または、これは既に適切に構成されていますか?

4

2 に答える 2

10

hibernate-c3p0.jar はorg.hibernate.connection.C3P0ConnectionProvider、Hibernate コントラクトの C3P0 ベースの実装であるクラス を提供しますConnectionProviderhibernate.cfg.xmlC3P0 を Hibernate のスタンドアロン接続プール (ファイルを介して構成する) として使用する場合は、このアーティファクトが必要です。Spring を使用しているため、Spring は必要ありません。

于 2010-06-09T09:22:08.220 に答える
1

org.hibernate:hibernate-c3p0 は、C3P0 を直接使用するように Hibernate を構成する場合に使用するモジュールのように見えます。

投稿した構成が機能すると仮定すると、必要ないはずです-そうですか?

于 2010-06-09T03:48:34.553 に答える