{"record":{"id":"0d909efc03624749","repo":"hibernate/hibernate-orm","slug":"multiple-batchbuilder-service-registrations-found","errorCode":null,"errorMessage":"Multiple BatchBuilder service registrations found via ServiceLoader; specify one explicitly via 'hibernate.jdbc.batch.builder'","messagePattern":"Multiple BatchBuilder service registrations found via ServiceLoader; specify one explicitly via 'hibernate\\.jdbc\\.batch\\.builder'","errorType":"exception","errorClass":"ServiceException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/engine/jdbc/batch/internal/BatchBuilderInitiator.java","lineNumber":78,"sourceCode":"\t\t\t\treturn (BatchBuilder)\n\t\t\t\t\t\tclassLoaderService\n\t\t\t\t\t\t\t\t.classForName( builderClassName )\n\t\t\t\t\t\t\t\t.getConstructor()\n\t\t\t\t\t\t\t\t.newInstance();\n\t\t\t}\n\t\t\tcatch (Exception e) {\n\t\t\t\tthrow new ServiceException( \"Could not build explicit BatchBuilder [\" + builderClassName + \"]\", e );\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate static BatchBuilder discover(ClassLoaderService classLoaderService) {\n\t\tfinal var discovered = classLoaderService.loadJavaServices( BatchBuilder.class );\n\t\tfinal var iterator = discovered.iterator();\n\t\tif ( iterator.hasNext() ) {\n\t\t\tfinal var selected = iterator.next();\n\t\t\tif ( iterator.hasNext() ) {\n\t\t\t\tthrow new ServiceException(\n\t\t\t\t\t\t\"Multiple BatchBuilder service registrations found via ServiceLoader; \"\n\t\t\t\t\t\t+ \"specify one explicitly via '\" + BUILDER + \"'\" );\n\t\t\t}\n\t\t\treturn selected;\n\t\t}\n\t\telse {\n\t\t\treturn null;\n\t\t}\n\t}\n}\n","sourceCodeStart":60,"sourceCodeEnd":89,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/engine/jdbc/batch/internal/BatchBuilderInitiator.java#L60-L89","documentation":"Error \"Multiple BatchBuilder service registrations found via ServiceLoader; specify one explicitly via 'hibernate.jdbc.batch.builder'\" thrown in hibernate/hibernate-orm.","triggerScenarios":"Thrown at hibernate-core/src/main/java/org/hibernate/engine/jdbc/batch/internal/BatchBuilderInitiator.java:78 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set 'hibernate.jdbc.batch.builder' explicitly to one of the registered BatchBuilder implementations","Remove the duplicate BatchBuilder service registrations from the classpath (META-INF/services)"],"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"}