hibernate/hibernate-orm · error · UnknownUnwrapTypeException

Cannot unwrap to requested type [{}]

Error message

Cannot unwrap to requested type [{}]

What it means

Error "Cannot unwrap to requested type [{}]" thrown in hibernate/hibernate-orm.

Source

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

		this.jndiService = jndiService;
	}

	@Override
	public boolean isUnwrappableAs(@Nonnull Class<?> unwrapType) {
		return unwrapType.isAssignableFrom( DataSourceConnectionProvider.class )
			|| unwrapType.isAssignableFrom( DataSource.class);
	}

	@Override
	public <T> T unwrap(@Nonnull Class<T> unwrapType) {
		if ( unwrapType.isAssignableFrom( DataSourceConnectionProvider.class ) ) {
			return unwrapType.cast( this );
		}
		else if ( unwrapType.isAssignableFrom( DataSource.class) ) {
			return unwrapType.cast( getDataSource() );
		}
		else {
			throw new UnknownUnwrapTypeException( unwrapType );
		}
	}

	@Override
	public void configure(@Nonnull Map<String, Object> configuration) {
		if ( dataSource == null ) {
			final Object dataSourceSetting = configuration.get( DATASOURCE );
			if ( dataSourceSetting instanceof DataSource instance ) {
				dataSource = instance;
			}
			else if ( dataSourceSetting instanceof String jndiName ) {
				dataSourceJndiName = jndiName;
				if ( jndiService == null ) {
					throw new ConnectionProviderConfigurationException( "Unable to locate JndiService to lookup Datasource" );
				}
				dataSource = (DataSource) jndiService.locate( jndiName );
			}
			else {

View on GitHub (pinned to fad1729dce)

Solutions

  1. Only unwrap the provider to DataSourceConnectionProvider or its supported supertypes/interfaces
  2. Do not request an unrelated type from unwrap()

When it happens

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