hibernate/hibernate-orm · error · IllegalArgumentException

Illegal discriminator value: {domainForm}

Error message

Illegal discriminator value: {domainForm}

What it means

Error "Illegal discriminator value: {domainForm}" thrown in hibernate/hibernate-orm.

Source

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

				return result;
			}
		}
		return null;
	}

	@Override
	protected String getEntityName(O domainForm) {
		if ( domainForm == null ) {
			return null;
		}
		else if ( domainForm instanceof Class<?> clazz ) {
			return clazz.getName();
		}
		else if ( domainForm instanceof String name ) {
			return name;
		}
		else {
			throw new IllegalArgumentException( "Illegal discriminator value: " + domainForm );
		}
	}
}

View on GitHub (pinned to fad1729dce)

Solutions

  1. Use only domain forms (subtype names) that were registered in the embeddable discriminator mapping when setting the embeddable value.

When it happens

Trigger: Thrown when the domain (Java) form of an embeddable discriminator value is not one of the legal mapped values.

Common situations: See trigger scenarios.


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