{"record":{"id":"f1c029ee90f9782a","repo":"hibernate/hibernate-orm","slug":"expected-number-expression-but-got","errorCode":null,"errorMessage":"Expected 'Number' expression but got '{}'","messagePattern":"Expected 'Number' expression but got '(.+?)'","errorType":"exception","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/query/restriction/JakartaDataRestriction.java","lineNumber":588,"sourceCode":"\tprivate static Expression<String> stringExpression(\n\t\t\tjakarta.data.expression.Expression<?, ?> expression,\n\t\t\tRoot<?> root,\n\t\t\tCriteriaBuilder builder) {\n\t\treturn stringExpression( expression( expression, root, builder ) );\n\t}\n\n\tprivate static Expression<String> stringExpression(Expression<?> expression) {\n\t\tverifyExpressionType( expression, String.class );\n\t\treturn expression.as( String.class );\n\t}\n\n\tprivate static Expression<? extends Number> numberExpression(\n\t\t\tjakarta.data.expression.Expression<?, ?> expression,\n\t\t\tRoot<?> root,\n\t\t\tCriteriaBuilder builder) {\n\t\tfinal var expressionType = wrapperType( expression.type() );\n\t\tif ( !Number.class.isAssignableFrom( expressionType ) ) {\n\t\t\tthrow new IllegalArgumentException(\n\t\t\t\t\t\"Expected 'Number' expression but got '\" + expressionType.getName() + \"'\" );\n\t\t}\n\t\treturn numberExpression( expression( expression, root, builder ),\n\t\t\t\texpressionType.asSubclass( Number.class ) );\n\t}\n\n\tprivate static <N extends Number> Expression<N> numberExpression(\n\t\t\tExpression<?> expression,\n\t\t\tClass<N> expectedType) {\n\t\tverifyExpressionType( expression, expectedType );\n\t\treturn expression.as( expectedType );\n\t}\n\n\tprivate static Expression<?> literal(\n\t\t\tObject value,\n\t\t\tExpression<?> expression,\n\t\t\tCriteriaBuilder builder) {\n\t\tif ( value != null ) {","sourceCodeStart":570,"sourceCodeEnd":606,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/query/restriction/JakartaDataRestriction.java#L570-L606","documentation":"Error \"Expected 'Number' expression but got '{}'\" thrown in hibernate/hibernate-orm.","triggerScenarios":"A runtime precondition of the Hibernate query API is violated: Expected 'Number' expression but got '<value>'","commonSituations":"Application code or configuration calls the query API in a way that violates its documented contract; the interpolated values in the message identify the offending input.","solutions":["A Number expression was required but a different type was given. Supply a numeric expression."],"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"}