{"record":{"id":"0f995f7f77d71902","repo":"hibernate/hibernate-orm","slug":"terminal-path-pathdesc-has-no-attribute-name","errorCode":null,"errorMessage":"Terminal path${pathDesc}has no attribute '${name}'","messagePattern":"Terminal path(.+?)has no attribute '(.+?)'","errorType":"exception","errorClass":"TerminalPathException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/metamodel/model/domain/internal/BasicSqmPathSource.java","lineNumber":60,"sourceCode":"\t\tthis.relationalJavaType = relationalJavaType;\n\t\tthis.isGeneric = isGeneric;\n\t}\n\n\t@Override\n\tpublic String getTypeName() {\n\t\treturn super.getTypeName();\n\t}\n\n//\t@Override\n//\tpublic SqmDomainType<J> getSqmType() {\n//\t\treturn getPathType();\n//\t}\n\n\t@Override\n\tpublic @Nullable SqmPathSource<?> findSubPathSource(String name) {\n\t\tfinal String path = pathModel.getPathName();\n\t\tfinal String pathDesc = path == null || path.startsWith( \"{\" ) ? \" \" : \" '\" + pathModel.getPathName() + \"' \";\n\t\tthrow new TerminalPathException( \"Terminal path\" + pathDesc + \"has no attribute '\" + name + \"'\" );\n\t}\n\n\t@Override\n\tpublic SqmPath<J> createSqmPath(SqmPath<?> lhs, @Nullable SqmPathSource<?> intermediatePathSource) {\n\t\tfinal var path = PathHelper.append( lhs, this, intermediatePathSource );\n\t\tfinal var nodeBuilder = lhs.nodeBuilder();\n\t\treturn switch ( classification( getJavaType() ) ) {\n\t\t\tcase TEXT -> //noinspection unchecked\n\t\t\t\t\t(SqmPath<J>) new SqmTextValuedSimplePath(\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\t(SqmPathSource<String>) pathModel,\n\t\t\t\t\t\tlhs,\n\t\t\t\t\t\tnodeBuilder\n\t\t\t\t\t);\n\t\t\tcase BOOLEAN -> //noinspection unchecked\n\t\t\t\t\t(SqmPath<J>) new SqmBooleanValuedSimplePath(\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\t(SqmPathSource<Boolean>) pathModel,","sourceCodeStart":42,"sourceCodeEnd":78,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/metamodel/model/domain/internal/BasicSqmPathSource.java#L42-L78","documentation":"Error \"Terminal path${pathDesc}has no attribute '${name}'\" thrown in hibernate/hibernate-orm.","triggerScenarios":"Thrown when a query path navigates into a basic (terminal) attribute as if it had sub-attributes.","commonSituations":"See trigger scenarios.","solutions":["Correct the attribute name in the path; a basic (terminal) attribute has no sub-attributes to navigate into."],"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"}