{"record":{"id":"e838268654826b16","repo":"hibernate/hibernate-orm","slug":"could-not-determine-persister-implementation-for-e","errorCode":null,"errorMessage":"Could not determine persister implementation for entity [%s]","messagePattern":"Could not determine persister implementation for entity \\[(.+?)\\]","errorType":"exception","errorClass":"UnknownPersisterException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/persister/internal/StandardPersisterClassResolver.java","lineNumber":51,"sourceCode":"\t\t\tif ( model.hasSubclasses() ) {\n\t\t\t\t//If the class has children, we need to find of which kind\n\t\t\t\tmodel = model.getDirectSubclasses().get(0);\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn singleTableEntityPersister();\n\t\t\t}\n\t\t}\n\t\tif ( model instanceof JoinedSubclass ) {\n\t\t\treturn joinedSubclassEntityPersister();\n\t\t}\n\t\telse if ( model instanceof UnionSubclass ) {\n\t\t\treturn unionSubclassEntityPersister();\n\t\t}\n\t\telse if ( model instanceof SingleTableSubclass ) {\n\t\t\treturn singleTableEntityPersister();\n\t\t}\n\t\telse {\n\t\t\tthrow new UnknownPersisterException(\n\t\t\t\t\t\"Could not determine persister implementation for entity [\" + model.getEntityName() + \"]\"\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic Class<? extends EntityPersister> singleTableEntityPersister() {\n\t\treturn SingleTableEntityPersister.class;\n\t}\n\n\tpublic Class<? extends EntityPersister> joinedSubclassEntityPersister() {\n\t\treturn JoinedSubclassEntityPersister.class;\n\t}\n\n\tpublic Class<? extends EntityPersister> unionSubclassEntityPersister() {\n\t\treturn UnionSubclassEntityPersister.class;\n\t}\n\n\t@Override","sourceCodeStart":33,"sourceCodeEnd":69,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/persister/internal/StandardPersisterClassResolver.java#L33-L69","documentation":"Error \"Could not determine persister implementation for entity [%s]\" thrown in hibernate/hibernate-orm.","triggerScenarios":"A runtime precondition of the Hibernate API is violated.","commonSituations":"Occurs when application code or configuration does not satisfy the documented contract of the API being called.","solutions":["Register a persister for the entity via @Persister or configuration, or remove the custom persister reference.","Ensure the referenced persister class implements EntityPersister."],"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"}