hibernate/hibernate-orm · error · HibernateException

Cannot determine discriminator value from entity-name ({}) :

Error message

Cannot determine discriminator value from entity-name ({}) : {}

What it means

Error "Cannot determine discriminator value from entity-name ({}) : {}" thrown in hibernate/hibernate-orm.

Source

Thrown at hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/UnifiedAnyDiscriminatorConverter.java:161

	@Override
	public DiscriminatorValueDetails getDetailsForEntityName(String entityName) {
		final var existing = detailsByEntityName.get( entityName );
		if ( existing != null ) {
			return existing;
		}

		if ( implicitValueStrategy != null ) {
			final var entityMapping = mappingMetamodel.getEntityDescriptor( entityName );
			assert entityMapping != null;
			final Object discriminatorValue = implicitValueStrategy.toDiscriminatorValue(
					entityMapping,
					discriminatorRole,
					mappingMetamodel
			);
			return register( DiscriminatorValue.of( discriminatorValue ), entityMapping );
		}

		throw new HibernateException( "Cannot determine discriminator value from entity-name (" + discriminatorRole.getFullPath() + ") : " + entityName );
	}

	@Override
	public void forEachValueDetail(Consumer<DiscriminatorValueDetails> consumer) {
		detailsByEntityName.values().forEach( consumer );
	}

	@Override
	@SuppressWarnings("unchecked")
	public R toRelationalValue(O domainForm) {
		final String entityName = getEntityName( domainForm );
		return entityName == null ? null : (R) getDetailsForEntityName( entityName ).getValue();
	}

	@Override
	public <X> X fromValueDetails(Function<DiscriminatorValueDetails, X> handler) {
		for ( var valueDetails : detailsByEntityName.values() ) {
			final X result = handler.apply( valueDetails );

View on GitHub (pinned to fad1729dce)

Solutions

  1. Use only entity names that are registered in the any-mapping's discriminator when assigning the association.

When it happens

Trigger: Thrown when the entity name of an @Any association target cannot be converted into a discriminator value.

Common situations: See trigger scenarios.


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