{"record":{"id":"73e530a85f2615d8","repo":"hibernate/hibernate-orm","slug":"duplicate-alias-s-at-position-s-in-select-cl","errorCode":null,"errorMessage":"Duplicate alias '%s' at position %s in 'select' clause","messagePattern":"Duplicate alias '(.+?)' at position (.+?) in 'select' clause","errorType":"exception","errorClass":"AliasCollisionException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/query/hql/internal/SqmPathRegistryImpl.java","lineNumber":387,"sourceCode":"\tpublic @Nullable SqmAliasedNode<?> findAliasedNodeByPosition(int position) {\n\t\t// NOTE: 1-based\n\t\treturn position > simpleSelectionNodes.size()\n\t\t\t\t? null\n\t\t\t\t: simpleSelectionNodes.get( position - 1 );\n\t}\n\n\t@Override\n\tpublic void register(SqmAliasedNode<?> node) {\n\t\tcheckResultVariable( node );\n\t\tsimpleSelectionNodes.add( node );\n\t}\n\n\tprivate void checkResultVariable(SqmAliasedNode<?> selection) {\n\t\tfinal String alias = selection.getAlias();\n\t\tif ( alias != null ) {\n\t\t\tfinal Integer position = findAliasedNodePosition( alias );\n\t\t\tif ( position != null ) {\n\t\t\t\tthrow new AliasCollisionException(\n\t\t\t\t\t\tString.format(\n\t\t\t\t\t\t\t\tLocale.ENGLISH,\n\t\t\t\t\t\t\t\t\"Duplicate alias '%s' at position %s in 'select' clause\",\n\t\t\t\t\t\t\t\talias,\n\t\t\t\t\t\t\t\tposition\n\t\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n}\n","sourceCodeStart":369,"sourceCodeEnd":399,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/query/hql/internal/SqmPathRegistryImpl.java#L369-L399","documentation":"Error \"Duplicate alias '%s' at position %s in 'select' clause\" thrown in hibernate/hibernate-orm.","triggerScenarios":"The same alias/identification variable is declared twice: Duplicate alias '<value>' at position <value> in 'select' clause","commonSituations":"HQL queries reusing an alias in the from/join clauses or a duplicate result alias in the select clause.","solutions":["Two select items share the same alias. Give each aliased select item a distinct alias."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fad1729dce015f908198d57a8d80274a30f905a5","analyzedAt":"2026-08-22T04:13:57.527Z","schemaVersion":2},"datasetVersion":"2026-08-22T09:17:25.309Z"}