{"record":{"id":"4034e328e246ee90","repo":"hibernate/hibernate-orm","slug":"unexpected-terminal-node-node-gettext","errorCode":null,"errorMessage":"Unexpected terminal node [{node.getText()}]","messagePattern":"Unexpected terminal node \\[(.+?)\\]","errorType":"exception","errorClass":"ParsingException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/query/hql/internal/SemanticQueryBuilder.java","lineNumber":4097,"sourceCode":"\n\t@Override\n\tpublic SqmExpression<?> visitTerminal(TerminalNode node) {\n\t\treturn switch ( node.getSymbol().getType() ) {\n\t\t\tcase HqlLexer.EOF -> null;\n\t\t\tcase HqlParser.STRING_LITERAL -> stringLiteral( node.getText() );\n\t\t\tcase HqlParser.JAVA_STRING_LITERAL -> javaStringLiteral( node.getText() );\n\t\t\tcase HqlParser.INTEGER_LITERAL -> integerLiteral( node.getText() );\n\t\t\tcase HqlParser.LONG_LITERAL -> longLiteral( node.getText() );\n\t\t\tcase HqlParser.BIG_INTEGER_LITERAL -> bigIntegerLiteral( node.getText() );\n\t\t\tcase HqlParser.HEX_LITERAL -> hexLiteral( node.getText() );\n\t\t\tcase HqlParser.FLOAT_LITERAL -> floatLiteral( node.getText() );\n\t\t\tcase HqlParser.DOUBLE_LITERAL -> doubleLiteral( node.getText() );\n\t\t\tcase HqlParser.BIG_DECIMAL_LITERAL -> bigDecimalLiteral( node.getText() );\n\t\t\tcase HqlParser.FALSE -> booleanLiteral( false );\n\t\t\tcase HqlParser.TRUE -> booleanLiteral( true );\n\t\t\tcase HqlParser.NULL -> new SqmLiteralNull<>( nodeBuilder() );\n\t\t\tcase HqlParser.BINARY_LITERAL -> binaryLiteral( node.getText() );\n\t\t\tdefault -> throw new ParsingException( \"Unexpected terminal node [\" + node.getText() + \"]\" );\n\t\t};\n\t}\n\n\t@Override\n\tpublic Object visitDateTimeLiteral(HqlParser.DateTimeLiteralContext ctx) {\n\t\treturn ctx.getChild( 0 ).accept( this );\n\t}\n\n\t@Override\n\tpublic Object visitLocalDateTimeLiteral(HqlParser.LocalDateTimeLiteralContext ctx) {\n\t\treturn ctx.localDateTime().accept( this );\n\t}\n\n\t@Override\n\tpublic Object visitZonedDateTimeLiteral(HqlParser.ZonedDateTimeLiteralContext ctx) {\n\t\treturn ctx.zonedDateTime().accept( this );\n\t}\n","sourceCodeStart":4079,"sourceCodeEnd":4115,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/query/hql/internal/SemanticQueryBuilder.java#L4079-L4115","documentation":"Error \"Unexpected terminal node [{node.getText()}]\" thrown in hibernate/hibernate-orm.","triggerScenarios":"The HQL parser produced a node the translator does not expect: Unexpected terminal node [<value>]","commonSituations":"Usually an internal grammar edge case in window-frame or expression parsing; can surface with unusual but syntactically accepted HQL.","solutions":["The parser reached a terminal node the translator does not recognize, which means the query contains unsupported or malformed syntax at that token. Correct the HQL near the reported node text."],"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"}