Ne fais pas ça comme ça. Configurez la source de données que vous souhaitez utiliser dans Spring ainsi que Hibernate. Abandonnez le hibernate.dbcp
et hibernate.connection
Propriétés.
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/app"/>
<property name="username" value="foo"/>
<property name="password" value="bar"/>
// Other DBCP properties here
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource"
<property name="packagesToScan">
<list>
<value>com.my.app.model</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
</bean>
Ajoutez simplement le dataSource
propriété à votre AnnotationSessionFactoryBean
comme dépendance et fait. Notez que vous n'avez pas besoin de configurationClass
propriété car elle est déjà basée sur des annotations.
Un conseil que je ne suggérerais plus d'utiliser Commons-DBCP comme source de données, jetez plutôt un œil à HikariCP comme une meilleure mise en œuvre de la source de données.
Pour plus d'informations sur l'intégration/la configuration d'Hibernate avec Spring, je suggère cette section du Guide de référence.