{"record":{"id":"f3ba9edc4286af36","repo":"hibernate/hibernate-orm","slug":"class-providerclassname-does-not-implement-co","errorCode":null,"errorMessage":"Class '{providerClassName}' does not implement 'ConnectionProvider'","messagePattern":"Class '(.+?)' does not implement 'ConnectionProvider'","errorType":"exception","errorClass":"ConnectionProviderConfigurationException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/engine/jdbc/connections/internal/ConnectionProviderInitiator.java","lineNumber":125,"sourceCode":"\t\t\t}\n\t\t\telse if ( explicitSetting instanceof Class<?> providerClass ) {\n\t\t\t\tCONNECTION_PROVIDER_LOGGER.instantiatingExplicitConnectionProvider( providerClass.getName() );\n\t\t\t\treturn instantiateExplicitConnectionProvider( connectionProviderClass( providerClass ), beanContainer );\n\t\t\t}\n\t\t\telse {\n\t\t\t\tfinal String providerName = nullIfBlank( explicitSetting.toString() );\n\t\t\t\tif ( providerName != null ) {\n\t\t\t\t\treturn instantiateNamedConnectionProvider( providerName, strategySelector, beanContainer );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn instantiateConnectionProvider( configurationValues, strategySelector, beanContainer );\n\t}\n\n\tprivate static Class<? extends ConnectionProvider> connectionProviderClass(Class<?> providerClass) {\n\t\tif ( !ConnectionProvider.class.isAssignableFrom( providerClass ) ) {\n\t\t\tthrow new ConnectionProviderConfigurationException( \"Class '\" + providerClass.getName()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ \"' does not implement 'ConnectionProvider'\" );\n\t\t}\n\t\treturn providerClass.asSubclass( ConnectionProvider.class );\n\t}\n\n\tprivate ConnectionProvider instantiateNamedConnectionProvider(\n\t\t\tString providerName, StrategySelector strategySelector, BeanContainer beanContainer) {\n\t\tCONNECTION_PROVIDER_LOGGER.instantiatingExplicitConnectionProvider( providerName );\n\t\tfinal var providerClass = strategySelector.selectStrategyImplementor( ConnectionProvider.class, providerName );\n\t\ttry {\n\t\t\treturn instantiateExplicitConnectionProvider( providerClass, beanContainer );\n\t\t}\n\t\tcatch (Exception e) {\n\t\t\tthrow new HibernateException( \"Could not instantiate connection provider [\" + providerName + \"]\", e );\n\t\t}\n\t}\n\n\tprivate ConnectionProvider instantiateConnectionProvider(","sourceCodeStart":107,"sourceCodeEnd":143,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/engine/jdbc/connections/internal/ConnectionProviderInitiator.java#L107-L143","documentation":"Error \"Class '{providerClassName}' does not implement 'ConnectionProvider'\" thrown in hibernate/hibernate-orm.","triggerScenarios":"Thrown at hibernate-core/src/main/java/org/hibernate/engine/jdbc/connections/internal/ConnectionProviderInitiator.java:125 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Make the configured class implement org.hibernate.engine.jdbc.connections.spi.ConnectionProvider","Fix the 'hibernate.connection.provider_class' setting to name a valid ConnectionProvider implementation"],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fad1729dce015f908198d57a8d80274a30f905a5","analyzedAt":"2026-08-22T04:13:57.527Z","schemaVersion":2},"datasetVersion":"2026-08-22T09:17:25.309Z"}