Предупреждение: свойства c3p0 были обнаружены, но класс поставщика c3p0 не найден в пути к классам
Я получаю это предупреждение, когда пытаюсь использовать c3p0:
2018-08-25 21: 11: 20,376 WARN [main] (org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator: 219) - HHH000022: обнаружены свойства c3p0, но класс поставщика c3p0 не найден в пути к классам; эти свойства будут игнорироваться.
Я нашел похожий пост, но они были для более старых версий hibernate, и большинство из них указывают на проблему с библиотекой, которая, похоже, не является моей проблемой, так как я использую только одну библиотеку для hibernate, и мой код выполняется несмотря на предупреждение. Проблема в том, что без c3p0 он работает в пуле соединений гибернации.
Мой файл Gradle извлекает эту библиотеку для SQL и гибернации:
compile group: 'com.microsoft.sqlserver', name: 'mssql-jdbc', version: '6.2.1.jre8'
compile group: 'org.hibernate', name: 'hibernate-c3p0', version: '5.3.5.Final'
и мой файл конфигурации Hibernate hybernate.clg.xml
:
<property name="hibernate.connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
<property name="hibernate.connection.url">
jdbc:sqlserver:...
</property>
<property name="hibernate.c3p0.acquire_increment">1</property>
<property name="hibernate.c3p0.idle_test_period">60</property>
<property name="hibernate.c3p0.min_size">1</property>
<property name="hibernate.c3p0.max_size">2</property>
<property name="hibernate.c3p0.max_statements">50</property>
<property name="hibernate.c3p0.timeout">0</property>
<property name="hibernate.c3p0.acquireRetryAttempts">1</property>
<property name="hibernate.c3p0.acquireRetryDelay">250</property>
<property name="hibernate.current_session_context_class">thread</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.dialect">org.hibernate.dialect.SQLServer2012Dialect</property>
2 ответа
Решение, которое сработало для меня, заключалось в том, что я использовал одну и ту же версию Core Hibernate и C3p0 :
просто прокомментируйте это и не забудьте выполнить проект обновления Maven или просто Ctrl+ S, если ваша IDE — Eclipse .
В моем случае ошибка была в файле pom.xml. Я добавил зависимость:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-c3p0</artifactId>
<version>6.1.6.Final</version>
<type>pom</type>
</dependency>
вместо этого:
<dependency>
<groupId>org.hibernate.orm</groupId>
<artifactId>hibernate-c3p0</artifactId>
<version>6.1.6.Final</version>
</dependency>
Теперь все работает нормально. Проверьте свои зависимости.