{"record":{"id":"c29929a499b8db57","repo":"hibernate/hibernate-orm","slug":"cannot-generate-an-entitykey-when-id-is-null","errorCode":null,"errorMessage":"cannot generate an EntityKey when id is null.","messagePattern":"cannot generate an EntityKey when id is null\\.","errorType":"exception","errorClass":"IllegalStateException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/engine/internal/EntityEntryImpl.java","lineNumber":254,"sourceCode":"\tpublic Object getVersion() {\n\t\treturn version;\n\t}\n\n\t@Override\n\tpublic void postInsert(Object version) {\n\t\tthis.version = version;\n\t}\n\n\t@Override\n\tpublic EntityPersister getPersister() {\n\t\treturn persister;\n\t}\n\n\t@Override\n\tpublic EntityKey getEntityKey() {\n\t\tif ( cachedEntityKey == null ) {\n\t\t\tif ( id == null ) {\n\t\t\t\tthrow new IllegalStateException( \"cannot generate an EntityKey when id is null.\");\n\t\t\t}\n\t\t\tcachedEntityKey = new EntityKey( id, persister );\n\t\t}\n\t\treturn cachedEntityKey;\n\t}\n\n\t@Override\n\tpublic String getEntityName() {\n\t\treturn persister == null ? null : persister.getEntityName();\n\n\t}\n\n\t@Override\n\tpublic Object getRowId() {\n\t\treturn rowId;\n\t}\n\n\t@Override","sourceCodeStart":236,"sourceCodeEnd":272,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/engine/internal/EntityEntryImpl.java#L236-L272","documentation":"Error \"cannot generate an EntityKey when id is null.\" thrown in hibernate/hibernate-orm.","triggerScenarios":"Thrown at hibernate-core/src/main/java/org/hibernate/engine/internal/EntityEntryImpl.java:254 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Persist or merge the entity first so its identifier is generated before building an EntityKey","Do not call generateEntityKey with a null id; check the entity has been assigned an identifier"],"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"}