{"record":{"id":"fc8c45ead02ecce9","repo":"hibernate/hibernate-orm","slug":"specified-annotation-type-s-does-not-have-an-ov","errorCode":null,"errorMessage":"Specified Annotation type (%s) does not have an override form","messagePattern":"Specified Annotation type \\((.+?)\\) does not have an override form","errorType":"exception","errorClass":"HibernateException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/boot/model/internal/DialectOverridesAnnotationHelper.java","lineNumber":51,"sourceCode":"\t\t\t\tfinal var overrideAnnotation =\n\t\t\t\t\t\tdialectOverrideMember.getAnnotation( DialectOverride.OverridesAnnotation.class );\n\t\t\t\tif ( overrideAnnotation != null ) {\n\t\t\t\t\t// The \"real\" annotation.  e.g. `org.hibernate.annotations.Formula`\n\t\t\t\t\tfinal var baseAnnotation = overrideAnnotation.value();\n\t\t\t\t\t// the \"override\" annotation.  e.g. `org.hibernate.annotations.DialectOverride.Formula`\n\t\t\t\t\t//noinspection unchecked\n\t\t\t\t\tfinal var dialectOverrideAnnotation = (Class<? extends Annotation>) dialectOverrideMember;\n\t\t\t\t\tresults.put( baseAnnotation, dialectOverrideAnnotation );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn results;\n\t}\n\n\tpublic static <A extends Annotation, O extends Annotation> Class<O> getOverrideAnnotation(Class<A> annotationType) {\n\t\tfinal Class<O> overrideAnnotation = findOverrideAnnotation( annotationType );\n\t\tif ( overrideAnnotation == null ) {\n\t\t\tthrow new HibernateException(\n\t\t\t\t\tString.format(\n\t\t\t\t\t\t\tLocale.ROOT,\n\t\t\t\t\t\t\t\"Specified Annotation type (%s) does not have an override form\",\n\t\t\t\t\t\t\tannotationType.getName()\n\t\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\telse {\n\t\t\treturn overrideAnnotation;\n\t\t}\n\t}\n\n\tpublic static <A extends Annotation, O extends Annotation> Class<O> findOverrideAnnotation(Class<A> annotationType) {\n\t\t//noinspection unchecked\n\t\treturn (Class<O>) OVERRIDE_MAP.get( annotationType );\n\t}\n\n\tpublic static <T extends Annotation> T getOverridableAnnotation(","sourceCodeStart":33,"sourceCodeEnd":69,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/boot/model/internal/DialectOverridesAnnotationHelper.java#L33-L69","documentation":"Error \"Specified Annotation type (%s) does not have an override form\" thrown in hibernate/hibernate-orm.","triggerScenarios":"A custom @TypeBinderType/@AttributeBinderType annotation cannot be processed by its binder.","commonSituations":"A binder implementation that does not accept the annotation type it is registered for, or a binder throwing while processing the annotation.","solutions":["Use an annotation type that has a dialect-override form, or remove the override usage for this annotation."],"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"}