{"record":{"id":"97c13c51689841ab","repo":"hibernate/hibernate-orm","slug":"illegal-use-of-implicitdiscriminatorstrategy-with","errorCode":null,"errorMessage":"Illegal use of ImplicitDiscriminatorStrategy with explicit non-null discriminator mapping: {}","messagePattern":"Illegal use of ImplicitDiscriminatorStrategy with explicit non-null discriminator mapping: (.+?)","errorType":"exception","errorClass":"HibernateException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/UnifiedAnyDiscriminatorConverter.java","lineNumber":77,"sourceCode":"\t}\n\n\tpublic boolean hasImplicitValueStrategy() {\n\t\treturn implicitValueStrategy != null;\n\t}\n\n\tprivate ImplicitDiscriminatorStrategy resolveImplicitValueStrategy(\n\t\t\tImplicitDiscriminatorStrategy implicitValueStrategy,\n\t\t\tMap<DiscriminatorValue, String> explicitValueMappings) {\n\t\tif ( explicitValueMappings.isEmpty() ) {\n\t\t\tif ( implicitValueStrategy == null ) {\n\t\t\t\treturn FullNameImplicitDiscriminatorStrategy.FULL_NAME_STRATEGY;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tif ( explicitValueMappings.containsKey( NOT_NULL ) ) {\n\t\t\t\tif ( implicitValueStrategy != null ) {\n\t\t\t\t\t// we will ultimately not know how to handle \"implicit\" values which are non-null\n\t\t\t\t\tthrow new HibernateException( \"Illegal use of ImplicitDiscriminatorStrategy with explicit non-null discriminator mapping: \" + discriminatorRole.getFullPath() );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn implicitValueStrategy;\n\t}\n\n\tprivate DiscriminatorValueDetails register(DiscriminatorValue value, EntityMappingType entityMapping) {\n\t\tfinal var details = new DiscriminatorValueDetailsImpl( value, entityMapping );\n\t\tdetailsByValue.put( value, details );\n\t\tdetailsByEntityName.put( entityMapping.getEntityName(), details );\n\t\treturn details;\n\t}\n\n\t@Override\n\tpublic DiscriminatorValueDetails getDetailsForDiscriminatorValue(Object relationalValue) {\n\t\tif ( relationalValue == null ) {\n\t\t\t// return immediately to avoid falling through to NOT_NULL case\n\t\t\treturn detailsByValue.get( NULL );","sourceCodeStart":59,"sourceCodeEnd":95,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/UnifiedAnyDiscriminatorConverter.java#L59-L95","documentation":"Error \"Illegal use of ImplicitDiscriminatorStrategy with explicit non-null discriminator mapping: {}\" thrown in hibernate/hibernate-orm.","triggerScenarios":"Thrown when an implicit discriminator strategy is combined with an explicit non-null discriminator mapping for an @Any association.","commonSituations":"See trigger scenarios.","solutions":["Do not combine the implicit discriminator strategy with an explicit discriminator column/value mapping for the any-mapping; choose one approach."],"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"}