hibernate/hibernate-orm · error · AliasCollisionException

Duplicate identification variable '%s' in 'from' clause [%s%

Error message

Duplicate identification variable '%s' in 'from' clause [%s%s]

What it means

Error "Duplicate identification variable '%s' in 'from' clause [%s%s]" thrown in hibernate/hibernate-orm.

Source

Thrown at hibernate-core/src/main/java/org/hibernate/query/hql/internal/SqmPathRegistryImpl.java:132

		}
		else if ( sqmFrom instanceof SqmJoin ) {
			keyword = first ? "join " : " join ";
		}
		else {
			keyword = first ? "" : ", ";
		}
		final String path = sqmFrom.getNavigablePath().getLocalName();
		final String alias = sqmFrom.getExplicitAlias();
		return keyword + (alias == null ? path : path + " as " + alias);
	}

	@Override
	public void registerByAliasOnly(SqmFrom<?, ?> sqmFrom) {
		final String alias = sqmFrom.getExplicitAlias();
		if ( alias != null ) {
			final var previousFrom = sqmFromByAlias.put( handleAliasCaseSensitivity( alias ), sqmFrom );
			if ( previousFrom != null ) {
				throw new AliasCollisionException(
						String.format(
								Locale.ENGLISH,
								"Duplicate identification variable '%s' in 'from' clause [%s%s]",
								alias,
								fromPath( previousFrom, true ),
								fromPath( sqmFrom, false )
						)
				);
			}
		}
	}

	@Override
	public <E> void replace(SqmEntityJoin<?,E> sqmJoin, SqmRoot<E> sqmRoot) {
		final String alias = sqmJoin.getExplicitAlias();
		if ( alias != null ) {
			final var previousFrom = sqmFromByAlias.put( handleAliasCaseSensitivity( alias ), sqmJoin );
			if ( previousFrom != null && !( previousFrom instanceof SqmRoot ) ) {

View on GitHub (pinned to fad1729dce)

Solutions

  1. The same identification variable is declared twice in the from clause. Rename one of the aliases so each from-clause element has a unique identification variable.

When it happens

Trigger: The same alias/identification variable is declared twice: Duplicate identification variable '<value>' in 'from' clause [<value><value>]

Common situations: HQL queries reusing an alias in the from/join clauses or a duplicate result alias in the select clause.


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