{"record":{"id":"1b0572d66b3707dc","repo":"hibernate/hibernate-orm","slug":"filter-parameter-has-neither-an-argument-nor","errorCode":null,"errorMessage":"Filter parameter '{}' has neither an argument nor a resolver","messagePattern":"Filter parameter '(.+?)' has neither an argument nor a resolver","errorType":"exception","errorClass":"HibernateException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/internal/FilterImpl.java","lineNumber":198,"sourceCode":"\tpublic Supplier<?> getParameterResolver(String name) {\n\t\treturn definition.getParameterResolver(name);\n\t}\n\n\t/**\n\t * Perform validation of the filter state.  This is used to verify the\n\t * state of the filter after its enablement and before its use.\n\t *\n\t * @throws HibernateException If the state is not currently valid.\n\t */\n\tpublic void validate() throws HibernateException {\n\t\tif ( validated ) {\n\t\t\treturn;\n\t\t}\n\t\t// for each of the defined parameters, make sure its argument\n\t\t// has been set or a resolver has been implemented and specified\n\t\tfor ( final String parameterName : definition.getParameterNames() ) {\n\t\t\tif ( !hasArgument(parameterName) && !hasResolver(parameterName)) {\n\t\t\t\tthrow new HibernateException( \"Filter parameter '\" + getName()\n\t\t\t\t\t\t+ \"' has neither an argument nor a resolver\" );\n\t\t\t}\n\t\t}\n\t\tvalidated = true;\n\t}\n\n\tprivate boolean hasResolver(String parameterName) {\n\t\tfinal Supplier<?> resolver = getParameterResolver(parameterName);\n\t\treturn resolver != null\n\t\t\t&& !resolver.getClass().isInterface();\n\t}\n\n\tprivate boolean hasArgument(String parameterName) {\n\t\treturn parameters != null && parameters.containsKey(parameterName);\n\t}\n\n\t@Override\n\tpublic Object getParameterValue(String paramName) {","sourceCodeStart":180,"sourceCodeEnd":216,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/internal/FilterImpl.java#L180-L216","documentation":"Error \"Filter parameter '{}' has neither an argument nor a resolver\" thrown in hibernate/hibernate-orm.","triggerScenarios":"Thrown when a filter is given a parameter that is not declared, of the wrong type, or lacking a value.","commonSituations":"Typical situations: typos in filter parameter names; setting a parameter of an incompatible Java type; forgetting to bind a parameter before running the query.","solutions":["Set a value (or resolver) for the filter parameter before executing the query."],"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"}