hibernate/hibernate-orm · error · AliasCollisionException
Duplicate alias '%s' at position %s in 'select' clause
Error message
Duplicate alias '%s' at position %s in 'select' clause
What it means
Error "Duplicate alias '%s' at position %s in 'select' clause" thrown in hibernate/hibernate-orm.
Source
Thrown at hibernate-core/src/main/java/org/hibernate/query/hql/internal/SqmPathRegistryImpl.java:387
public @Nullable SqmAliasedNode<?> findAliasedNodeByPosition(int position) {
// NOTE: 1-based
return position > simpleSelectionNodes.size()
? null
: simpleSelectionNodes.get( position - 1 );
}
@Override
public void register(SqmAliasedNode<?> node) {
checkResultVariable( node );
simpleSelectionNodes.add( node );
}
private void checkResultVariable(SqmAliasedNode<?> selection) {
final String alias = selection.getAlias();
if ( alias != null ) {
final Integer position = findAliasedNodePosition( alias );
if ( position != null ) {
throw new AliasCollisionException(
String.format(
Locale.ENGLISH,
"Duplicate alias '%s' at position %s in 'select' clause",
alias,
position
)
);
}
}
}
}
View on GitHub (pinned to fad1729dce)
Solutions
- Two select items share the same alias. Give each aliased select item a distinct alias.
When it happens
Trigger: The same alias/identification variable is declared twice: Duplicate alias '<value>' at position <value> in 'select' clause
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/73e530a85f2615d8.
Report an issue: GitHub.