2010-06-09 12 views
10

Tengo una aplicación Spring/JPA con Hibernate como proveedor de JPA. He configurado una fuente de datos C3P0 en la primavera a través de:Configuración de resorte de C3P0 con Hibernate?

<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" /> 

entonces especificado esta fuente de datos en la entidad fábrica gestor de primavera de la siguiente manera:

<bean id="myLocalEmf" 
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> 
     <property name="persistenceUnitName" value="myapp-core" /> 
     <property name="dataSource" ref="myJdbcDataSource" /> 
</bean> 

Sin embargo, recientemente he notado mientras exploras los artefactos de maven a "hibernate-c3p0". ¿Que es esto? ¿Es esto algo que necesito usar? ¿O ya tengo esto configurado correctamente?

+0

Por qué es un [droide de protocolo] (http://en.wikipedia.org/wiki/C3P0) por supuesto. –

Respuesta

10

El hibernate-c3p0.jar proporciona la clase org.hibernate.connection.C3P0ConnectionProvider, una implementación basada en C3P0 del contrato de Hibernate ConnectionProvider. Necesita este artefacto cuando desee usar C3P0 como el grupo de conexiones independiente de Hibernate (que configura a través del archivo hibernate.cfg.xml). Ya que estás usando Spring, no lo necesitas.

+0

¿Alguna vez hay alguna razón/ventaja que pueda significar el uso de la versión hibernate-c3p0 es una idea mejor, o son funcionalmente equivalentes? – yochannah

1

org.hibernate: hibernate-c3p0 se parece al módulo que usaría si estuviera configurando Hibernate para usar C3P0 directamente.

No debería necesitarlo suponiendo que la configuración que ha publicado le funciona, ¿verdad?

+1

Funciona, pero en el mundo de Spring e Hibernate uno no puede estar tan seguro ... – HDave

+0

¿Qué quieres decir con que no puedes estar tan seguro? O funciona, o no funciona. –

Cuestiones relacionadas