hibernate/hibernate-orm · error · IllegalStateException
Trying to lock versioned entity %s but found null version
Error message
Trying to lock versioned entity %s but found null version
What it means
Error "Trying to lock versioned entity %s but found null version" thrown in hibernate/hibernate-orm.
Source
Thrown at hibernate-core/src/main/java/org/hibernate/loader/ast/internal/LoaderHelper.java:104
try {
final EntityEntry entryToLock = entry;
cacheLock = writingToCache( persister, cache -> {
final Object cacheKey =
cache.generateCacheKey( entryToLock.getId(), persister,
session.getFactory(), session.getTenantIdentifier() );
final var lock = cache.lockItem( session, cacheKey, entryToLock.getVersion() );
return new CacheLock( cache, cacheKey, lock );
}, null );
if ( persister.isVersioned() && entry.getVersion() == null ) {
// This should be an empty entry created for an uninitialized bytecode proxy
if ( !Hibernate.isPropertyInitialized( object, persister.getVersionMapping().getPartName() ) ) {
Hibernate.initialize( object );
entry = session.getPersistenceContextInternal().getEntry( object );
assert entry.getVersion() != null;
}
else {
throw new IllegalStateException( String.format(
"Trying to lock versioned entity %s but found null version",
infoString( persister, entry.getId() )
) );
}
}
if ( persister.isVersioned() && requestedLockMode == LockMode.PESSIMISTIC_FORCE_INCREMENT ) {
// todo : should we check the current isolation mode explicitly?
OptimisticLockHelper.forceVersionIncrement( object, entry, session );
}
else if ( entry.isExistsInDatabase() ) {
final var eventMonitor = session.getEventMonitor();
final var entityLockEvent = eventMonitor.beginEntityLockEvent();
boolean success = false;
try {
persister.lock( entry.getId(), entry.getVersion(), object, lockOptions, session );
success = true;
}View on GitHub (pinned to fad1729dce)
Solutions
- Ensure versioned entities have a non-null version (initialized by the DB or assigned); new entities should be persisted before locking.
When it happens
Trigger: Thrown at hibernate-core/src/main/java/org/hibernate/loader/ast/internal/LoaderHelper.java:104 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of hibernate/hibernate-orm@fad1729dce (2026-08-22).
Data as JSON: /api/errors/48878ab763821a93.
Report an issue: GitHub.