{"record":{"id":"018b3f1ddec670d0","repo":"hibernate/hibernate-orm","slug":"could-not-determine-procedurecall-parameter-bind-t","errorCode":null,"errorMessage":"Could not determine ProcedureCall parameter bind type - %s (%s)","messagePattern":"Could not determine ProcedureCall parameter bind type - (.+?) \\((.+?)\\)","errorType":"exception","errorClass":"ParameterTypeException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/procedure/internal/ProcedureParameterImpl.java","lineNumber":202,"sourceCode":"\t\t\treturn null;\n\t\t}\n\t}\n\n\tprivate String getJdbcParamName(\n\t\t\tProcedureCallImplementor procedureCall,\n\t\t\tboolean isNamed,\n\t\t\tboolean passProcedureParameterNames,\n\t\t\tOutputableType<T> typeToUse,\n\t\t\tExtractedDatabaseMetaData databaseMetaData) {\n\t\treturn isNamed && passProcedureParameterNames\n\t\t\t&& canDoNameParameterBinding( typeToUse, procedureCall, databaseMetaData )\n\t\t\t\t? name\n\t\t\t\t: null;\n\t}\n\n\tprivate void validateBindableType(BindableType<T> bindableType, int startIndex) {\n\t\tif ( bindableType == null ) {\n\t\t\tthrow new ParameterTypeException(\n\t\t\t\t\tString.format(\n\t\t\t\t\t\t\tLocale.ROOT,\n\t\t\t\t\t\t\t\"Could not determine ProcedureCall parameter bind type - %s (%s)\",\n\t\t\t\t\t\t\tthis.name != null ? this.name : this.position,\n\t\t\t\t\t\t\tstartIndex\n\t\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate JdbcParameterBinder getParameterBinder(BindableType<T> typeToUse, String name) {\n\t\tif ( typeToUse == null ) {\n\t\t\tthrow new ParameterTypeException(\n\t\t\t\t\tString.format(\n\t\t\t\t\t\t\tLocale.ROOT,\n\t\t\t\t\t\t\t\"Cannot determine the bindable type for procedure parameter %s (%s)\",\n\t\t\t\t\t\t\tthis.name != null ? this.name : this.position,\n\t\t\t\t\t\t\tname","sourceCodeStart":184,"sourceCodeEnd":220,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/procedure/internal/ProcedureParameterImpl.java#L184-L220","documentation":"Error \"Could not determine ProcedureCall parameter bind type - %s (%s)\" 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":["Pass an explicit Hibernate type when registering the procedure parameter.","Ensure the Java type maps to a registered BasicType in the type registry."],"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"}