Может быть, это может помочь: http://thejavablog.wordpress.com/2010/11/26/java-lang-unsupportedoperationexception-the-user-must-supply-a-jdbc-connection/, в основном это говорит о том, что чего-то не хватает в файле persistence.xml (<provider>org.hibernate.ejb.HibernatePersistence</provider>
или, может быть, hibernate.connection.provider_class
-property?), И ConnectionProviderFactory в Hibernate решает создать UserSuppliedConnectionProvider, который определил getConnection так:
public Connection getConnection() {
throw new UnsupportedOperationException("The user must supply a JDBC connection");
}
Я также сравнил это с одной из наших собственных настроек Hibernate / JPA, которая прекрасно работает с C3PO, и единственное различие, которое я заметил, было то, что мы передали еще несколько свойств в c3p0.ComboPooledDataSource и некоторые свойства в org.springframework.orm .jpa.vendor.HibernateJpaVendorAdapter при определении EntityManagerFactory в конфигурации Spring xml:
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="showSql" value="false" />
<property name="generateDdl" value="false" />
<property name="databasePlatform" value="${jdbc.dialectClass}" />
</bean>
</property>
Но я сомневаюсь, что это могло быть. Нет никаких свойств, определенных в нашем файле persistence.xml (вообще).