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
- Only unwrap the provider to DataSourceConnectionProvider or its supported supertypes/interfaces
- 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.