{"record":{"id":"84f4260b0a466e38","repo":"hibernate/hibernate-orm","slug":"cannot-interpret-discriminator-value-discriminat-84f426","errorCode":null,"errorMessage":"Cannot interpret discriminator value ({discriminatorRole}) : {discriminatorValue}","messagePattern":"Cannot interpret discriminator value \\((.+?)\\) : (.+?)","errorType":"exception","errorClass":"HibernateException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/metamodel/internal/ShortNameImplicitDiscriminatorStrategy.java","lineNumber":36,"sourceCode":"public class ShortNameImplicitDiscriminatorStrategy implements ImplicitDiscriminatorStrategy {\n\tpublic static final ShortNameImplicitDiscriminatorStrategy SHORT_NAME_STRATEGY = new ShortNameImplicitDiscriminatorStrategy();\n\n\t@Override\n\tpublic Object toDiscriminatorValue(EntityMappingType entityMapping, NavigableRole discriminatorRole, MappingMetamodelImplementor mappingModel) {\n\t\treturn entityMapping.getImportedName();\n\t}\n\n\t@Override\n\tpublic EntityMappingType toEntityMapping(Object discriminatorValue, NavigableRole discriminatorRole, MappingMetamodelImplementor mappingModel) {\n\t\tif ( discriminatorValue instanceof String assumedEntityName ) {\n\t\t\tfinal String importedName = mappingModel.getImportedName( assumedEntityName );\n\t\t\tfinal var entityMapping = mappingModel.findEntityDescriptor( importedName );\n\t\t\tif ( entityMapping != null ) {\n\t\t\t\treturn entityMapping;\n\t\t\t}\n\t\t}\n\n\t\tthrow new HibernateException( \"Cannot interpret discriminator value (\" + discriminatorRole + \") : \" + discriminatorValue );\n\t}\n}\n","sourceCodeStart":18,"sourceCodeEnd":39,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/metamodel/internal/ShortNameImplicitDiscriminatorStrategy.java#L18-L39","documentation":"Error \"Cannot interpret discriminator value ({discriminatorRole}) : {discriminatorValue}\" thrown in hibernate/hibernate-orm.","triggerScenarios":"Thrown when an implicit discriminator strategy using short entity names cannot map a discriminator value back to a known entity in the hierarchy.","commonSituations":"See trigger scenarios.","solutions":["Map every subclass with a matching @DiscriminatorValue that corresponds to its (short) entity name, or switch to an explicit DiscriminatorStrategy.","Verify the discriminator column values in existing rows match the implicit short class names."],"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"}