hibernate/hibernate-orm · error · HibernateException

Could not instantiate singular-registered ConnectionProvider

Error message

Could not instantiate singular-registered ConnectionProvider

What it means

Error "Could not instantiate singular-registered ConnectionProvider" thrown in hibernate/hibernate-orm.

Source

Thrown at hibernate-core/src/main/java/org/hibernate/engine/jdbc/connections/internal/ConnectionProviderInitiator.java:155

		}
		catch (Exception e) {
			throw new HibernateException( "Could not instantiate connection provider [" + providerName + "]", e );
		}
	}

	private ConnectionProvider instantiateConnectionProvider(
			Map<String, Object> configurationValues, StrategySelector strategySelector, BeanContainer beanContainer) {
		if ( configurationValues.containsKey( DATASOURCE ) ) {
			return new DataSourceConnectionProvider();
		}

		final var singleRegisteredProvider = getSingleRegisteredProvider( strategySelector );
		if ( singleRegisteredProvider != null ) {
			try {
				return singleRegisteredProvider.getConstructor().newInstance();
			}
			catch (IllegalAccessException | NoSuchMethodException | InvocationTargetException | InstantiationException e) {
				throw new HibernateException( "Could not instantiate singular-registered ConnectionProvider", e );
			}
		}
		else if ( hasConfiguration( configurationValues, C3P0_CONFIG_PREFIX ) ) {
			return instantiateProvider( strategySelector, C3P0_STRATEGY );
		}
		else if ( hasConfiguration( configurationValues, HIKARI_CONFIG_PREFIX ) ) {
			return instantiateProvider( strategySelector, HIKARI_STRATEGY );
		}
		else if ( hasConfiguration( configurationValues, AGROAL_CONFIG_PREFIX ) ) {
			return instantiateProvider( strategySelector, AGROAL_STRATEGY );
		}
		else if ( hasConfiguration( configurationValues, UCP_CONFIG_PREFIX ) ) {
			return instantiateProvider( strategySelector, UCP_STRATEGY );
		}
		else if ( configurationValues.containsKey( URL ) ) {
			return new DriverManagerConnectionProvider();
		}
		else {

View on GitHub (pinned to fad1729dce)

Solutions

  1. Ensure the registered ConnectionProvider can be instantiated (accessible constructor, no instantiation errors)
  2. Register a concrete ConnectionProvider implementation instead of an abstract/interface type

When it happens

Trigger: Thrown at hibernate-core/src/main/java/org/hibernate/engine/jdbc/connections/internal/ConnectionProviderInitiator.java:155 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/d37284fd6a1d2316. Report an issue: GitHub.