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
- 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.