hibernate/hibernate-orm · error · HibernateException

Provider is closed

Error message

Provider is closed

What it means

Error "Provider is closed" thrown in hibernate/hibernate-orm.

Source

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

					DataSourceConnectionProvider.class );
		}

		user = (String) configuration.get( JdbcSettings.USER );
		pass = (String) configuration.get( JdbcSettings.PASS );
		useCredentials = user != null || pass != null;
		available = true;
	}

	@Override
	public void stop() {
		available = false;
		dataSource = null;
	}

	@Override
	public Connection getConnection() throws SQLException {
		if ( !available ) {
			throw new HibernateException( "Provider is closed" );
		}
		return useCredentials ? dataSource.getConnection( user, pass ) : dataSource.getConnection();
	}

	@Override
	public Connection getConnection(String user, String password) throws SQLException {
		if ( !available ) {
			throw new HibernateException( "Provider is closed" );
		}
		return dataSource.getConnection( user, password );
	}

	@Override
	public void closeConnection(Connection connection) throws SQLException {
		connection.close();
	}

	@Override

View on GitHub (pinned to fad1729dce)

Solutions

  1. Do not request connections after the provider/SessionFactory has been closed
  2. Create a new SessionFactory instead of reusing a closed one

When it happens

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