{"record":{"id":"e54270cfcbffcc32","repo":"hibernate/hibernate-orm","slug":"unrecognized-null-precedence-nullsprecedencec","errorCode":null,"errorMessage":"Unrecognized null precedence: \" + nullsPrecedenceContext.getText()","messagePattern":"Unrecognized null precedence: \" \\+ nullsPrecedenceContext\\.getText\\(\\)","errorType":"exception","errorClass":"UnsupportedOperationException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/query/hql/internal/SemanticQueryBuilder.java","lineNumber":977,"sourceCode":"\t\t\tif ( index < specCtx.getChildCount() ) {\n\t\t\t\tif ( specCtx.getChild( index ) instanceof HqlParser.SortDirectionContext ) {\n\t\t\t\t\tfinal var sortCtx = specCtx.sortDirection();\n\t\t\t\t\tfinal var symbol = ((TerminalNode) sortCtx.getChild( 0 )).getSymbol();\n\t\t\t\t\tsortOrder = switch ( symbol.getType() ) {\n\t\t\t\t\t\tcase HqlParser.ASC -> SortDirection.ASCENDING;\n\t\t\t\t\t\tcase HqlParser.DESC -> SortDirection.DESCENDING;\n\t\t\t\t\t\tdefault -> throw new UnsupportedOperationException(\n\t\t\t\t\t\t\t\t\"Unrecognized sort ordering: \" + sortCtx.getText() );\n\t\t\t\t\t};\n\t\t\t\t\tindex++;\n\t\t\t\t}\n\t\t\t\tif ( index < specCtx.getChildCount() ) {\n\t\t\t\t\tfinal var nullsPrecedenceContext = specCtx.nullsPrecedence();\n\t\t\t\t\tfinal var symbol = ((TerminalNode) nullsPrecedenceContext.getChild( 1 )).getSymbol();\n\t\t\t\t\tnullPrecedence = switch ( symbol.getType() ) {\n\t\t\t\t\t\tcase HqlParser.FIRST -> Nulls.FIRST;\n\t\t\t\t\t\tcase HqlParser.LAST -> Nulls.LAST;\n\t\t\t\t\t\tdefault -> throw new UnsupportedOperationException(\n\t\t\t\t\t\t\t\t\"Unrecognized null precedence: \" + nullsPrecedenceContext.getText() );\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t\tsearchOrders.add( nodeBuilder().search( attribute, sortOrder, nullPrecedence ) );\n\t\t}\n\t\tcteDefinition.search( getCteSearchClauseKind( ctx ), searchAttributeName, searchOrders );\n\t}\n\n\tprivate static CteSearchClauseKind getCteSearchClauseKind(HqlParser.SearchClauseContext ctx) {\n\t\treturn ctx.BREADTH() != null ? CteSearchClauseKind.BREADTH_FIRST : CteSearchClauseKind.DEPTH_FIRST;\n\t}\n\n\t@Override\n\tpublic SqmQueryPart<?> visitQueryOrderExpression(HqlParser.QueryOrderExpressionContext ctx) {\n\t\tfinal var sqmQuerySpec = currentQuerySpec();\n\t\tfinal var fromClause = buildInferredFromClause(null);\n\t\tsqmQuerySpec.setFromClause( fromClause );","sourceCodeStart":959,"sourceCodeEnd":995,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/query/hql/internal/SemanticQueryBuilder.java#L959-L995","documentation":"Error \"Unrecognized null precedence: \" + nullsPrecedenceContext.getText()\" thrown in hibernate/hibernate-orm.","triggerScenarios":"A runtime precondition of the Hibernate API is violated.","commonSituations":"Occurs when application code or configuration does not satisfy the documented contract of the API being called.","solutions":["Use 'nulls first' or 'nulls last' for null precedence.","Fix the order-by clause syntax."],"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"}