hibernate/hibernate-orm · error · HibernateException

Unrecognized discriminator value: {relationalValue}

Error message

Unrecognized discriminator value: {relationalValue}

What it means

Error "Unrecognized discriminator value: {relationalValue}" thrown in hibernate/hibernate-orm.

Source

Thrown at hibernate-core/src/main/java/org/hibernate/metamodel/mapping/EmbeddableDiscriminatorConverter.java:83

	@Override
	public O toDomainValue(R relationalForm) {
		assert relationalForm == null || getRelationalJavaType().isInstance( relationalForm );
		final var matchingValueDetails = getDetailsForDiscriminatorValue( relationalForm );
		if ( matchingValueDetails == null ) {
			throw new IllegalStateException( "Could not resolve discriminator value" );
		}
		//noinspection unchecked
		return (O) matchingValueDetails.getEmbeddableClass();
	}

	@Override
	public EmbeddableDiscriminatorValueDetailsImpl getDetailsForDiscriminatorValue(Object relationalValue) {
		final var valueMatch = discriminatorValueToDetailsMap.get( relationalValue );
		if ( valueMatch != null ) {
			return valueMatch;
		}
		throw new HibernateException( "Unrecognized discriminator value: " + relationalValue );
	}

	@Override
	public DiscriminatorValueDetails getDetailsForEntityName(String embeddableClassName) {
		final var valueDetails = embeddableClassNameToDetailsMap.get( embeddableClassName );
		if ( valueDetails != null ) {
			return valueDetails;
		}
		throw new AssertionFailure( "Unrecognized embeddable class: " + embeddableClassName );
	}

	@Override
	public void forEachValueDetail(Consumer<DiscriminatorValueDetails> consumer) {
		discriminatorValueToDetailsMap.forEach( (value, detail) -> consumer.accept( detail ) );
	}

	@Override
	public <X> X fromValueDetails(Function<DiscriminatorValueDetails, X> handler) {

View on GitHub (pinned to fad1729dce)

Solutions

  1. Add the missing value to the embeddable's discriminator mapping or fix the data in the discriminator column.

When it happens

Trigger: Thrown when the relational (database) form of an embeddable discriminator value has no corresponding mapped embeddable subtype.

Common situations: See trigger scenarios.


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