hibernate/hibernate-orm · error · PropertyValueException
Detached entity with generated id '${id}' has an uninitializ
Error message
Detached entity with generated id '${id}' has an uninitialized version value '${version}' What it means
Error "Detached entity with generated id '${id}' has an uninitialized version value '${version}'" thrown in hibernate/hibernate-orm.
Source
Thrown at hibernate-core/src/main/java/org/hibernate/persister/entity/AbstractEntityPersister.java:4622
final Boolean isUnsaved = versionMapping.getUnsavedStrategy().isUnsaved( version );
if ( isUnsaved != null ) {
if ( isUnsaved ) {
if ( version == null ) {
final var persistenceContext = session.getPersistenceContext();
if ( persistenceContext.hasLoadContext()
&& !persistenceContext.getLoadContexts().isLoadingFinished() ) {
// check if we're currently loading this entity instance, the version
// will be null, but the entity cannot be considered transient
final var holder = persistenceContext.getEntityHolder( new EntityKey( id, this ) );
if ( holder != null && holder.isEventuallyInitialized() && holder.getEntity() == entity ) {
return false;
}
}
}
if ( getGenerator() != null ) {
final Boolean unsaved = identifierMapping.getUnsavedStrategy().isUnsaved( id );
if ( unsaved != null && !unsaved ) {
throw new PropertyValueException(
"Detached entity with generated id '" + id
+ "' has an uninitialized version value '" + version + "'",
getEntityName(),
getVersionColumnName()
);
}
}
}
return isUnsaved;
}
}
// check the id unsaved-value
final Boolean result = identifierMapping.getUnsavedStrategy().isUnsaved( id );
if ( result != null ) {
return result;
}
View on GitHub (pinned to fad1729dce)
Solutions
- Initialize the version (e.g. set 0 or let Hibernate generate on persist) before merging the detached entity.
- Persist new entities with persist() instead of merge() when the id is generated.
When it happens
Trigger: Thrown when merging/reattaching a detached entity whose id is generated but whose version value was never initialized.
Common situations: See trigger scenarios.
AI-assisted analysis of hibernate/hibernate-orm@fad1729dce (2026-08-22).
Data as JSON: /api/errors/c91665563e423649.
Report an issue: GitHub.