hibernate/hibernate-orm · error · IllegalArgumentException

Unsupported jakarta.persistence.sql.ResultSetMapping type :

Error message

Unsupported jakarta.persistence.sql.ResultSetMapping type : {}

What it means

Error "Unsupported jakarta.persistence.sql.ResultSetMapping type : {}" thrown in hibernate/hibernate-orm.

Source

Thrown at hibernate-core/src/main/java/org/hibernate/query/results/internal/jpa/JpaMappingHelper.java:74

			resultMapping.addResultBuilder( new ColumnBuilder<>( columnMapping, sessionFactory ) );
		}
		else if ( jpaMapping instanceof ConstructorMapping<T> constructorMapping ) {
			resultMapping.addResultBuilder( new ConstructorBuilder<>( constructorMapping, sessionFactory ) );
		}
		else if ( jpaMapping instanceof EntityMapping<T> entityMapping ) {
			resultMapping.addResultBuilder( new EntityBuilder<>( entityMapping, sessionFactory ) );
		}
		else if ( jpaMapping instanceof TupleMapping tupleMapping ) {
			resultMapping.addResultBuilder( new TupleBuilder( tupleMapping, sessionFactory ) );
		}
		else if ( jpaMapping instanceof CompoundMapping compoundMapping ) {
			for ( int i = 0; i < compoundMapping.elements().length; i++ ) {
				final MappingElement<?> mappingElement = compoundMapping.elements()[i];
				resultMapping.addResultBuilder( toHibernateBuilder( mappingElement, sessionFactory ) );
			}
		}
		else {
			throw new IllegalArgumentException( "Unsupported jakarta.persistence.sql.ResultSetMapping type : " + jpaMapping.getClass().getName() );
		}
	}

	public static <T> MappingElementBuilder<T> toHibernateBuilder(
			jakarta.persistence.sql.MappingElement<T> jpaMapping,
			SessionFactoryImplementor sessionFactory) {
		if ( jpaMapping instanceof ColumnMapping<T> columnMapping ) {
			return new ColumnBuilder<>( columnMapping, sessionFactory );
		}
		else if ( jpaMapping instanceof ConstructorMapping<T> constructorMapping ) {
			return new ConstructorBuilder<>( constructorMapping, sessionFactory );
		}
		else if ( jpaMapping instanceof EntityMapping<T> entityMapping ) {
			return new EntityBuilder<>( entityMapping, sessionFactory );
		}
		else {
			throw new IllegalArgumentException( "Unsupported jakarta.persistence.sql.MappingElement type : " + jpaMapping.getClass().getName() );
		}

View on GitHub (pinned to fad1729dce)

Solutions

  1. The ResultSetMapping type is not supported. Use a supported jakarta.persistence.sql mapping type.

When it happens

Trigger: A native SQL result-set mapping is invalid or misapplied: Unsupported jakarta.persistence.sql.ResultSetMapping type : <value>

Common situations: Using @SqlResultSetMapping with non-native queries, aliases missing from the ResultSet, duplicated aliases, composite-path attribute results, or unknown mapped attributes/columns.


AI-assisted analysis of hibernate/hibernate-orm@fad1729dce (2026-08-22). Data as JSON: /api/errors/b1072bfcf88760dc. Report an issue: GitHub.