Gør det ikke sådan. Konfigurer den datakilde, du vil bruge i foråret såvel som i dvale. Glem hibernate.dbcp
og hibernate.connection
ejendomme.
<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>
Bare tilføj dataSource
egenskab til din AnnotationSessionFactoryBean
som afhængighed og gjort. Bemærk, at du ikke har brug for configurationClass
egenskab, da den allerede er annotationsbaseret.
Et tip, jeg ikke vil foreslå at bruge Commons-DBCP længere som en datakilde i stedet for at tage et kig på HikariCP som en bedre implementering af datakilder.
For mere information om at integrere/konfigurere Hibernate med Spring foreslår jeg dette afsnit i referencevejledningen.