{"record":{"id":"07a62cc0b4af50a3","repo":"hibernate/hibernate-orm","slug":"pad-character-for-pad-function-must-be-single-ch","errorCode":null,"errorMessage":"Pad character for pad() function must be single character, found '{padCharText}'","messagePattern":"Pad character for pad\\(\\) function must be single character, found '(.+?)'","errorType":"exception","errorClass":"SemanticException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/query/hql/internal/SemanticQueryBuilder.java","lineNumber":5510,"sourceCode":"\t\t\t\tqueryEngine()\n\t\t);\n\t}\n\n\t@Override\n\tpublic SqmTrimSpecification visitPadSpecification(HqlParser.PadSpecificationContext ctx) {\n\t\tfinal var symbol = ((TerminalNode) ctx.getChild( 0 )).getSymbol();\n\t\treturn switch ( symbol.getType() ) {\n\t\t\tcase HqlParser.LEADING -> new SqmTrimSpecification( TrimSpec.LEADING, nodeBuilder() );\n\t\t\tcase HqlParser.TRAILING -> new SqmTrimSpecification( TrimSpec.TRAILING, nodeBuilder() );\n\t\t\tdefault -> throw new ParsingException( \"Unsupported pad specification [\" + ctx.getText() + \"]\" );\n\t\t};\n\t}\n\n\t@Override\n\tpublic SqmLiteral<Character> visitPadCharacter(HqlParser.PadCharacterContext ctx) {\n\t\tfinal String padCharText = ctx.STRING_LITERAL().getText();\n\t\tif ( padCharText.length() != 3 ) {\n\t\t\tthrow new SemanticException( \"Pad character for pad() function must be single character, found '\"\n\t\t\t\t\t+ padCharText + \"'\",\n\t\t\t\t\tquery );\n\t\t}\n\t\treturn new SqmLiteral<>(\n\t\t\t\tpadCharText.charAt( 1 ),\n\t\t\t\tnodeBuilder().getCharacterType(),\n\t\t\t\tnodeBuilder()\n\t\t);\n\t}\n\n\t@Override\n\tpublic SqmExpression<?> visitTrimFunction(HqlParser.TrimFunctionContext ctx) {\n\t\tfinal var source = (SqmExpression<?>) ctx.expression().accept( this );\n\t\treturn getFunctionDescriptor(\"trim\").generateSqmExpression(\n\t\t\t\tasList(\n\t\t\t\t\t\tvisitTrimSpecification( ctx.trimSpecification() ),\n\t\t\t\t\t\tvisitTrimCharacter( ctx.trimCharacter() ),\n\t\t\t\t\t\tsource","sourceCodeStart":5492,"sourceCodeEnd":5528,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/query/hql/internal/SemanticQueryBuilder.java#L5492-L5528","documentation":"Error \"Pad character for pad() function must be single character, found '{padCharText}'\" thrown in hibernate/hibernate-orm.","triggerScenarios":"A multi-character literal is passed where a single character is required: Pad character for pad() function must be single character, found '<value>'","commonSituations":"Calling pad() or trim() in HQL with a pad/trim character literal longer than one character.","solutions":["The pad character argument of pad() must be exactly one character. Pass a single-character string literal as the pad character."],"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"}