hibernate/hibernate-orm · error · AliasCollisionException

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

Error message

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

What it means

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

Source

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

						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 ) ) {
				throw new AliasCollisionException(
						String.format(
								Locale.ENGLISH,
								"Duplicate identification variable '%s' in 'join' clause [%s%s]",
								alias,
								fromPath( previousFrom, true ),
								fromPath( sqmJoin, false )
						)
				);
			}
		}

		final var navigablePath = sqmJoin.getNavigablePath();

		final var previousFromByPath = sqmFromByPath.put( navigablePath, sqmJoin );
		if ( previousFromByPath != null && !( previousFromByPath instanceof SqmRoot ) ) {
			// this should never happen
			throw new ParsingException(
					String.format(

View on GitHub (pinned to fad1729dce)

Solutions

  1. The join alias duplicates an existing identification variable. Choose a different alias for the join.

When it happens

Trigger: The same alias/identification variable is declared twice: Duplicate identification variable '<value>' in 'join' 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/2fb7f391fb3db35a. Report an issue: GitHub.