У меня возникла та же проблема, и потребовалось время, чтобы найти решение.
Я использую Hibernate 4.0.1 и mysql 5.1 (без весеннего фреймворка), и я столкнулся с проблемой. Сначала убедитесь, что вы правильно настроили банки c3p0, которые необходимы.
Я использовал эти свойства в hibernate.cfg.xml
<property name="hibernate.c3p0.validate">true</property>
<property name="hibernate.connection.provider_class">org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider</property>
<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.max_size">20</property>
<property name="hibernate.c3p0.max_statements">50</property>
<property name="hibernate.c3p0.preferredTestQuery">SELECT 1;</property>
<property name="hibernate.c3p0.testConnectionOnCheckout">true</property>
<property name="hibernate.c3p0.idle_test_period">10</property>
<property name="hibernate.c3p0.acquireRetryAttempts">5</property>
<property name="hibernate.c3p0.acquireRetryDelay">200</property>
<property name="hibernate.c3p0.timeout">40</property>
Но это бесполезно, потому что C3p0 все еще принимает свойства по умолчанию, а не свойства, которые я установил в hibernate.cfg.xml. Вы можете проверить это в журналах. Итак, я искал много сайтов для правильного решения и, наконец, я придумал это. удалите свойства C3p0 в cfg.xml и создайте c3p0-config.xml в корневом пути (вместе с cfg.xml) и установите свойства следующим образом.
<c3p0-config>
<default-config>
<property name="automaticTestTable">con_test</property>
<property name="checkoutTimeout">40</property>
<property name="idleConnectionTestPeriod">10</property>
<property name="initialPoolSize">10</property>
<property name="maxPoolSize">20</property>
<property name="minPoolSize">5</property>
<property name="maxStatements">50</property>
<property name="preferredTestQuery">SELECT 1;</property>
<property name="acquireRetryAttempts">5</property>
<property name="acquireRetryDelay">200</property>
<property name="maxIdleTime">30</property>
</default-config>
</c3p0-config>
но если вы запустите, ORM берет соединение jdbc, но не пул соединений C3p0, потому что мы должны добавить эти свойства в hibernate.cfg.xml
<property name="hibernate.c3p0.validate">true</property>
<property name="hibernate.connection.provider_class">org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider</property>
теперь все работает нормально (по крайней мере, у меня все работало нормально) и проблема решена.
проверьте следующее для справок.
http://www.mchange.com/projects/c3p0/index.html#configuring_connection_testing
https://community.jboss.org/wiki/HowToConfigureTheC3P0ConnectionPool
Надеюсь, это решит вашу проблему.