{"record":{"id":"5fba478ea41eb053","repo":"hibernate/hibernate-orm","slug":"unable-to-resolve-type-specified-for-parameter-s","errorCode":null,"errorMessage":"Unable to resolve type specified for parameter (%s) defined for @FilterDef (%s)","messagePattern":"Unable to resolve type specified for parameter \\((.+?)\\) defined for @FilterDef \\((.+?)\\)","errorType":"exception","errorClass":"MappingException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/boot/model/internal/FilterDefBinder.java","lineNumber":66,"sourceCode":"\t\t\tthrow new AnnotationException( \"Multiple '@FilterDef' annotations define a filter named '\" + name + \"'\" );\n\t\t}\n\n\t\tfinal Map<String, JdbcMapping> paramJdbcMappings;\n\t\tfinal Map<String, ManagedBean<? extends Supplier<?>>> parameterResolvers;\n\t\tfinal var explicitParameters = filterDef.parameters();\n\t\tif ( isEmpty( explicitParameters ) ) {\n\t\t\tparamJdbcMappings = emptyMap();\n\t\t\tparameterResolvers = emptyMap();\n\t\t}\n\t\telse {\n\t\t\tparamJdbcMappings = new HashMap<>();\n\t\t\tparameterResolvers = new HashMap<>();\n\t\t\tfor ( var explicitParameter : explicitParameters ) {\n\t\t\t\tfinal String parameterName = explicitParameter.name();\n\t\t\t\tfinal var typeClassDetails = explicitParameter.type();\n\t\t\t\tfinal var jdbcMapping = resolveFilterParamType( typeClassDetails, context );\n\t\t\t\tif ( jdbcMapping == null ) {\n\t\t\t\t\tthrow new MappingException(\n\t\t\t\t\t\t\tString.format(\n\t\t\t\t\t\t\t\t\tLocale.ROOT,\n\t\t\t\t\t\t\t\t\t\"Unable to resolve type specified for parameter (%s) defined for @FilterDef (%s)\",\n\t\t\t\t\t\t\t\t\tparameterName,\n\t\t\t\t\t\t\t\t\tname\n\t\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tparamJdbcMappings.put( parameterName, jdbcMapping );\n\n\t\t\t\tfinal var resolverClass = explicitParameter.resolver();\n\t\t\t\tif ( !Supplier.class.equals( resolverClass ) ) {\n\t\t\t\t\tparameterResolvers.put( explicitParameter.name(),\n\t\t\t\t\t\t\tresolveParamResolver( resolverClass, context ) );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n","sourceCodeStart":48,"sourceCodeEnd":84,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/boot/model/internal/FilterDefBinder.java#L48-L84","documentation":"Error \"Unable to resolve type specified for parameter (%s) defined for @FilterDef (%s)\" thrown in hibernate/hibernate-orm.","triggerScenarios":"A @Filter/@FilterJoinTable usage references an undefined filter or has no usable condition.","commonSituations":"@Filter used without a matching @FilterDef, a misspelled filter name, or neither the usage nor the FilterDef supplying a default condition.","solutions":["Use a resolvable type for the @FilterDef parameter (a valid Java type or registered type name)."],"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"}