hibernate/hibernate-orm · error · IllegalStateException

Could not resolve discriminator value

Error message

Could not resolve discriminator value

What it means

Error "Could not resolve discriminator value" thrown in hibernate/hibernate-orm.

Source

Thrown at hibernate-core/src/main/java/org/hibernate/metamodel/mapping/DiscriminatorConverter.java:55

	public JavaType<O> getDomainJavaType() {
		return domainJavaType;
	}

	@Override
	public JavaType<R> getRelationalJavaType() {
		return relationalJavaType;
	}

	public DiscriminatorValueDetails getDetailsForRelationalForm(R relationalForm) {
		return getDetailsForDiscriminatorValue( relationalForm );
	}

	@Override
	public O toDomainValue(R relationalForm) {
		assert relationalForm == null || relationalJavaType.isInstance( relationalForm );
		final var matchingValueDetails = getDetailsForRelationalForm( relationalForm );
		if ( matchingValueDetails == null ) {
			throw new IllegalStateException( "Could not resolve discriminator value" );
		}

		final var indicatedEntity = matchingValueDetails.getIndicatedEntity();
		//noinspection unchecked
		return indicatedEntity.getRepresentationStrategy().getMode() == RepresentationMode.POJO
			&& indicatedEntity.getEntityName().equals( indicatedEntity.getJavaType().getJavaTypeClass().getName() )
				? (O) indicatedEntity.getJavaType().getJavaTypeClass()
				: (O) indicatedEntity.getEntityName();
	}

	@Override
	public R toRelationalValue(O domainForm) {
		final String entityName = getEntityName( domainForm );
		if ( entityName == null ) {
			return null;
		}
		else {
			final var value = getDetailsForEntityName( entityName ).getValue();

View on GitHub (pinned to fad1729dce)

Solutions

  1. Ensure the entity hierarchy's discriminator values are registered: add @DiscriminatorValue to each subclass.
  2. Check that the discriminator value read from the row matches one of the declared discriminator mappings.

When it happens

Trigger: Thrown when a discriminator value read from the database cannot be resolved to any registered domain value of the entity hierarchy.

Common situations: See trigger scenarios.


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