hibernate/hibernate-orm · error · UnsupportedOperationException

Support for plural attributes with index type [%s] not yet i

Error message

Support for plural attributes with index type [%s] not yet implemented

What it means

Error "Support for plural attributes with index type [%s] not yet implemented" thrown in hibernate/hibernate-orm.

Source

Thrown at hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/MappingModelCreationHelper.java:1419

						associatedEntity,
						creationProcess
				);
			}

			creationProcess.registerInitializationCallback(
					"PluralAttributeMapping( " + bootValueMapping.getRole() + ") - index descriptor",
					() -> indexDescriptor.finishInitialization(
							collectionDescriptor,
							bootValueMapping,
							indexEntityType.getRHSUniqueKeyPropertyName(),
							creationProcess
					)
			);

			return indexDescriptor;
		}

		throw new UnsupportedOperationException(
				"Support for plural attributes with index type [" + bootMapKeyDescriptor + "] not yet implemented"
		);
	}

	private static CollectionPart interpretElement(
			Collection bootDescriptor,
			String tableExpression,
			CollectionPersister collectionDescriptor,
			String sqlAliasStem,
			MappingModelCreationProcess creationProcess) {
		final Value element = bootDescriptor.getElement();

		if ( element instanceof BasicValue basicElement ) {
			final var selectableMapping = SelectableMappingImpl.from(
					tableExpression,
					basicElement.getSelectables().get( 0 ),
					basicElement.getSelectables().get( 0 ).isFormula()
							? getCollectionPropertyPath( collectionDescriptor )

View on GitHub (pinned to fad1729dce)

Solutions

  1. Use a supported index/key type for the collection (basic-typed map key or list index).

When it happens

Trigger: Thrown when a plural attribute's index (list index or map key) has a Java type for which persistent index support is not implemented.

Common situations: See trigger scenarios.


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