hibernate/hibernate-orm · error · SessionException

Session was already closed

Error message

Session was already closed

What it means

Error "Session was already closed" thrown in hibernate/hibernate-orm.

Source

Thrown at hibernate-core/src/main/java/org/hibernate/internal/StatelessSessionImpl.java:1592

		checkOpen();
		return getFactory().getPersistenceUnitUtil().getIdentifier(entity);
	}

	public boolean isAutoCloseSessionEnabled() {
		return getSessionFactoryOptions().isAutoCloseSessionEnabled();
	}

	public boolean shouldAutoClose() {
		return isAutoCloseSessionEnabled() && !isClosed();
	}

	private boolean isFlushModeNever() {
		return false;
	}

	private void managedClose() {
		if ( isClosed() ) {
			throw new SessionException( "Session was already closed" );
		}
		close();
	}

	private void managedFlush() {
		checkOpen();
		getJdbcCoordinator().executeBatch();
	}

	@Override
	public void propagateFlush() {
		if ( !isClosed() ) {
			SESSION_LOGGER.automaticallyFlushingChildSession();
			getJdbcCoordinator().executeBatch();
		}
	}

	@Override

View on GitHub (pinned to fad1729dce)

Solutions

  1. Do not use the session after close(); obtain a new session from the SessionFactory.
  2. Check isOpen() before performing operations if session lifetime is managed externally.

When it happens

Trigger: Thrown at hibernate-core/src/main/java/org/hibernate/internal/StatelessSessionImpl.java:1592 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/54489bc679db9ffa. Report an issue: GitHub.