hibernate/hibernate-orm · error · MappingException

Unrecognized @AnyKeyType value - {}

Error message

Unrecognized @AnyKeyType value - {}

What it means

Error "Unrecognized @AnyKeyType value - {}" thrown in hibernate/hibernate-orm.

Source

Thrown at hibernate-core/src/main/java/org/hibernate/boot/model/internal/BasicValueBinder.java:879

				}
			}

			final var anyKeyJavaClass = member.locateAnnotationUsage( AnyKeyJavaClass.class, context );
			if ( anyKeyJavaClass != null ) {
				return (BasicJavaType<?>)
						typeConfiguration.getJavaTypeRegistry()
								.resolveDescriptor( anyKeyJavaClass.value() );
			}

			// mainly used in XML interpretation
			final var anyKeyType = member.locateAnnotationUsage( AnyKeyType.class, context );
			if ( anyKeyType != null ) {
				final String namedType = anyKeyType.value();
				final var registeredType =
						typeConfiguration.getBasicTypeRegistry()
								.getRegisteredType( namedType );
				if ( registeredType == null ) {
					throw new MappingException( "Unrecognized @AnyKeyType value - " + namedType );
				}
				else {
					return (BasicJavaType<?>) registeredType.getJavaTypeDescriptor();
				}
			}

			throw new MappingException("Could not determine key type for '@Any' mapping (specify '@AnyKeyJavaType' or '@AnyKeyJavaClass')");
		};

		explicitJdbcTypeAccess = typeConfiguration -> {
			final var anyKeyJdbcType = member.locateAnnotationUsage( AnyKeyJdbcType.class, context );
			if ( anyKeyJdbcType != null ) {
				final var jdbcTypeClass = anyKeyJdbcType.value();
				if ( jdbcTypeClass != null ) {
					return useDeferredBeanContainerAccess
							? FallbackBeanInstanceProducer.INSTANCE.produceBeanInstance( jdbcTypeClass )
							: getManagedBeanRegistry().getBean( jdbcTypeClass ).getBeanInstance();
				}

View on GitHub (pinned to fad1729dce)

Solutions

  1. Use a recognized @AnyKeyType value as defined by the Hibernate version in use.
  2. Remove @AnyKeyType and let Hibernate infer the key type, or use @AnyKeyJavaType/@AnyKeyJavaClass instead.

When it happens

Trigger: An @Any/@ManyToAny mapping is missing required key-type or join information.

Common situations: Polymorphic @Any associations without @AnyKeyJavaType/@AnyKeyJavaClass, without any @JoinColumn, or with an unrecognized @AnyKeyType value.


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