hibernate/hibernate-orm · error · ServiceException

Multiple BatchBuilder service registrations found via Servic

Error message

Multiple BatchBuilder service registrations found via ServiceLoader; specify one explicitly via 'hibernate.jdbc.batch.builder'

What it means

Error "Multiple BatchBuilder service registrations found via ServiceLoader; specify one explicitly via 'hibernate.jdbc.batch.builder'" thrown in hibernate/hibernate-orm.

Source

Thrown at hibernate-core/src/main/java/org/hibernate/engine/jdbc/batch/internal/BatchBuilderInitiator.java:78

				return (BatchBuilder)
						classLoaderService
								.classForName( builderClassName )
								.getConstructor()
								.newInstance();
			}
			catch (Exception e) {
				throw new ServiceException( "Could not build explicit BatchBuilder [" + builderClassName + "]", e );
			}
		}
	}

	private static BatchBuilder discover(ClassLoaderService classLoaderService) {
		final var discovered = classLoaderService.loadJavaServices( BatchBuilder.class );
		final var iterator = discovered.iterator();
		if ( iterator.hasNext() ) {
			final var selected = iterator.next();
			if ( iterator.hasNext() ) {
				throw new ServiceException(
						"Multiple BatchBuilder service registrations found via ServiceLoader; "
						+ "specify one explicitly via '" + BUILDER + "'" );
			}
			return selected;
		}
		else {
			return null;
		}
	}
}

View on GitHub (pinned to fad1729dce)

Solutions

  1. Set 'hibernate.jdbc.batch.builder' explicitly to one of the registered BatchBuilder implementations
  2. Remove the duplicate BatchBuilder service registrations from the classpath (META-INF/services)

When it happens

Trigger: Thrown at hibernate-core/src/main/java/org/hibernate/engine/jdbc/batch/internal/BatchBuilderInitiator.java:78 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of hibernate/hibernate-orm@fad1729dce (2026-08-22). Data as JSON: /api/errors/0d909efc03624749. Report an issue: GitHub.