hibernate/hibernate-orm · error · HibernateException
Multiple active SessionFactoryBuilderFactory definitions wer
Error message
Multiple active SessionFactoryBuilderFactory definitions were discovered: {} What it means
Error "Multiple active SessionFactoryBuilderFactory definitions were discovered: {}" thrown in hibernate/hibernate-orm.
Source
Thrown at hibernate-core/src/main/java/org/hibernate/boot/internal/MetadataImpl.java:184
@Override
public SessionFactoryBuilder getSessionFactoryBuilder() {
final var defaultBuilder = getFactoryBuilder();
SessionFactoryBuilder builder = null;
List<String> activeFactoryNames = null;
for ( var discoveredBuilderFactory : getSessionFactoryBuilderFactories() ) {
final SessionFactoryBuilder returnedBuilder =
discoveredBuilderFactory.getSessionFactoryBuilder( this, defaultBuilder );
if ( returnedBuilder != null ) {
if ( activeFactoryNames == null ) {
activeFactoryNames = new ArrayList<>();
}
activeFactoryNames.add( discoveredBuilderFactory.getClass().getName() );
builder = returnedBuilder;
}
}
if ( activeFactoryNames != null && activeFactoryNames.size() > 1 ) {
throw new HibernateException(
"Multiple active SessionFactoryBuilderFactory definitions were discovered: " +
join( ", ", activeFactoryNames )
);
}
return builder == null ? defaultBuilder : builder;
}
private Iterable<SessionFactoryBuilderFactory> getSessionFactoryBuilderFactories() {
return getClassLoaderService().loadJavaServices( SessionFactoryBuilderFactory.class );
}
private SessionFactoryBuilderImplementor getFactoryBuilder() {
return metadataBuildingOptions.getServiceRegistry()
.requireService( SessionFactoryBuilderService.class )
.createSessionFactoryBuilder( this, bootstrapContext );
}
View on GitHub (pinned to fad1729dce)
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.
When it happens
Trigger: More than one SessionFactoryBuilderFactory service is discovered on the classpath.
Common situations: Multiple jars providing the same Hibernate service via Java ServiceLoader, typically a dependency duplication.
AI-assisted analysis of hibernate/hibernate-orm@fad1729dce (2026-08-22).
Data as JSON: /api/errors/63a38ac0959d2c9c.
Report an issue: GitHub.