hibernate/hibernate-orm · error · IllegalArgumentException
No JdbcTypeConstructor registered for SqlTypes.%s
Error message
No JdbcTypeConstructor registered for SqlTypes.%s
What it means
Error "No JdbcTypeConstructor registered for SqlTypes.%s" thrown in hibernate/hibernate-orm.
Source
Thrown at hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/EmbeddableMappingTypeImpl.java:311
final var jdbcTypeRegistry = typeConfiguration.getJdbcTypeRegistry();
final var aggregateJdbcType = jdbcTypeRegistry.resolveAggregateDescriptor(
aggregateSqlTypeCode,
structTypeName,
this,
creationContext
);
final var basicType = basicTypeRegistry.resolve( getMappedJavaType(), aggregateJdbcType );
// Register the resolved type under its struct name and java class name
final var structName = bootDescriptor.getStructName();
if ( structName != null ) {
basicTypeRegistry.register( basicType, structName.render() );
basicTypeRegistry.register( basicType, getMappedJavaType().getJavaTypeClass().getName() );
}
final BasicType<?> resolvedJdbcMapping;
if ( isArray ) {
final var arrayConstructor = jdbcTypeRegistry.getConstructor( aggregateColumnSqlTypeCode );
if ( arrayConstructor == null ) {
throw new IllegalArgumentException( "No JdbcTypeConstructor registered for SqlTypes." + JdbcTypeNameMapper.getTypeName( aggregateColumnSqlTypeCode ) );
}
//noinspection rawtypes,unchecked
final BasicType<?> arrayType =
( (BasicPluralJavaType) resolution.getDomainJavaType() )
.resolveType(
typeConfiguration,
creationContext.getDialect(),
basicType,
aggregateColumn,
typeConfiguration.getCurrentBaseSqlTypeIndicators()
);
basicTypeRegistry.register( arrayType );
resolvedJdbcMapping = arrayType;
}
else {
resolvedJdbcMapping = basicType;
}
resolution.updateResolution( resolvedJdbcMapping );View on GitHub (pinned to fad1729dce)
Solutions
- Register a JdbcTypeConstructor for the JDBC type code in the TypeConfiguration, or use a different @JdbcTypeCode that has a registered constructor.
When it happens
Trigger: Thrown during mapping model creation when no JdbcTypeConstructor is registered for the JDBC type code used by an embeddable attribute.
Common situations: See trigger scenarios.
AI-assisted analysis of hibernate/hibernate-orm@fad1729dce (2026-08-22).
Data as JSON: /api/errors/7be69d0627d564ac.
Report an issue: GitHub.