{"record":{"id":"4cf44cb1c1cd6196","repo":"hibernate/hibernate-orm","slug":"unable-to-locate-specified-multi-tenant-connection","errorCode":null,"errorMessage":"Unable to locate specified multi-tenant connection provider [{}]","messagePattern":"Unable to locate specified multi-tenant connection provider \\[(.+?)\\]","errorType":"exception","errorClass":"ServiceException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/engine/jdbc/connections/internal/MultiTenantConnectionProviderInitiator.java","lineNumber":95,"sourceCode":"\tprivate static Class<? extends MultiTenantConnectionProvider<?>> providerClass(\n\t\t\tServiceRegistryImplementor registry, Object configValue) {\n\t\tif ( configValue instanceof Class<?> configType ) {\n\t\t\tif ( !MultiTenantConnectionProvider.class.isAssignableFrom( configType ) ) {\n\t\t\t\tthrow new ConnectionProviderConfigurationException( \"Class '\" + configType.getName()\n\t\t\t\t\t\t\t\t+ \"' does not implement 'MultiTenantConnectionProvider'\" );\n\t\t\t}\n\t\t\t@SuppressWarnings(\"unchecked\") // Safe, we just checked\n\t\t\tfinal var providerClass = (Class<? extends MultiTenantConnectionProvider<?>>) configType;\n\t\t\treturn providerClass;\n\t\t}\n\t\telse {\n\t\t\tfinal String className = configValue.toString();\n\t\t\tfinal var classLoaderService = registry.requireService( ClassLoaderService.class );\n\t\t\ttry {\n\t\t\t\treturn classLoaderService.classForName( className );\n\t\t\t}\n\t\t\tcatch (ClassLoadingException cle) {\n\t\t\t\tthrow new ServiceException( \"Unable to locate specified multi-tenant connection provider [\" + className + \"]\", cle );\n\t\t\t}\n\t\t}\n\t}\n}\n","sourceCodeStart":77,"sourceCodeEnd":100,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/engine/jdbc/connections/internal/MultiTenantConnectionProviderInitiator.java#L77-L100","documentation":"Error \"Unable to locate specified multi-tenant connection provider [{}]\" thrown in hibernate/hibernate-orm.","triggerScenarios":"Thrown at hibernate-core/src/main/java/org/hibernate/engine/jdbc/connections/internal/MultiTenantConnectionProviderInitiator.java:95 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the service/class named by the configuration exists and is discoverable","Register the MultiTenantConnectionProvider programmatically"],"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"}