{"record":{"id":"63a38ac0959d2c9c","repo":"hibernate/hibernate-orm","slug":"multiple-active-sessionfactorybuilderfactory-defin","errorCode":null,"errorMessage":"Multiple active SessionFactoryBuilderFactory definitions were discovered: {}","messagePattern":"Multiple active SessionFactoryBuilderFactory definitions were discovered: (.+?)","errorType":"exception","errorClass":"HibernateException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/boot/internal/MetadataImpl.java","lineNumber":184,"sourceCode":"\t@Override\n\tpublic SessionFactoryBuilder getSessionFactoryBuilder() {\n\t\tfinal var defaultBuilder = getFactoryBuilder();\n\t\tSessionFactoryBuilder builder = null;\n\t\tList<String> activeFactoryNames = null;\n\t\tfor ( var discoveredBuilderFactory : getSessionFactoryBuilderFactories() ) {\n\t\t\tfinal SessionFactoryBuilder returnedBuilder =\n\t\t\t\t\tdiscoveredBuilderFactory.getSessionFactoryBuilder( this, defaultBuilder );\n\t\t\tif ( returnedBuilder != null ) {\n\t\t\t\tif ( activeFactoryNames == null ) {\n\t\t\t\t\tactiveFactoryNames = new ArrayList<>();\n\t\t\t\t}\n\t\t\t\tactiveFactoryNames.add( discoveredBuilderFactory.getClass().getName() );\n\t\t\t\tbuilder = returnedBuilder;\n\t\t\t}\n\t\t}\n\n\t\tif ( activeFactoryNames != null && activeFactoryNames.size() > 1 ) {\n\t\t\tthrow new HibernateException(\n\t\t\t\t\t\"Multiple active SessionFactoryBuilderFactory definitions were discovered: \" +\n\t\t\t\t\t\t\tjoin( \", \", activeFactoryNames )\n\t\t\t);\n\t\t}\n\n\t\treturn builder == null ? defaultBuilder : builder;\n\t}\n\n\tprivate Iterable<SessionFactoryBuilderFactory> getSessionFactoryBuilderFactories() {\n\t\treturn getClassLoaderService().loadJavaServices( SessionFactoryBuilderFactory.class );\n\t}\n\n\tprivate SessionFactoryBuilderImplementor getFactoryBuilder() {\n\t\treturn metadataBuildingOptions.getServiceRegistry()\n\t\t\t\t.requireService( SessionFactoryBuilderService.class )\n\t\t\t\t.createSessionFactoryBuilder( this, bootstrapContext );\n\t}\n","sourceCodeStart":166,"sourceCodeEnd":202,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/boot/internal/MetadataImpl.java#L166-L202","documentation":"Error \"Multiple active SessionFactoryBuilderFactory definitions were discovered: {}\" thrown in hibernate/hibernate-orm.","triggerScenarios":"More than one SessionFactoryBuilderFactory service is discovered on the classpath.","commonSituations":"Multiple jars providing the same Hibernate service via Java ServiceLoader, typically a dependency duplication.","solutions":["Keep only one SessionFactoryBuilderFactory service registration (META-INF/services or ServiceRegistry contributor) on the classpath.","Check for duplicate jars providing the same service (e.g. shading pulled in two copies).","If multiple are intentional, merge them into a single delegating factory."],"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"}