hibernate/hibernate-orm · error · HibernateException

instance was not in a valid state

Error message

instance was not in a valid state

What it means

Error "instance was not in a valid state" thrown in hibernate/hibernate-orm.

Source

Thrown at hibernate-core/src/main/java/org/hibernate/engine/internal/EntityEntryImpl.java:433

		return persister.isMutable()
			&& status != READ_ONLY
			&& ! ( status == DELETED && previousStatus == READ_ONLY );
	}

	@Override
	public void forceLocked(Object entity, Object nextVersion) {
		version = nextVersion;
		final int versionProperty = persister.getVersionPropertyIndex();
		loadedState[versionProperty] = version;
		setLockMode( PESSIMISTIC_FORCE_INCREMENT );
		persister.setValue( entity, versionProperty, nextVersion );
	}

	@Override
	public boolean isReadOnly() {
		final Status status = getStatus();
		if ( status != MANAGED && status != READ_ONLY ) {
			throw new HibernateException("instance was not in a valid state");
		}
		return status == READ_ONLY;
	}

	@Override
	public boolean setReadOnly(boolean readOnly, Object entity) {
		final boolean changed = readOnly != isReadOnly();
		if ( changed ) {
			if ( readOnly ) {
				setStatus( READ_ONLY );
				loadedState = null;
			}
			else if ( !persister.isMutable() ) {
				throw new IllegalStateException( "Cannot make an entity of immutable type '"
								+ persister.getEntityName() + "' modifiable" );
			}
			else {
				setStatus( MANAGED );

View on GitHub (pinned to fad1729dce)

Solutions

  1. Verify the entity lifecycle state before the operation (do not operate on detached/deleted entries)
  2. Ensure the session is open and the entity entry is in a valid Status for the requested transition

When it happens

Trigger: Thrown at hibernate-core/src/main/java/org/hibernate/engine/internal/EntityEntryImpl.java:433 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/f2cd3341243b2b48. Report an issue: GitHub.