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();
}
}
@OverrideView on GitHub (pinned to fad1729dce)
Solutions
- Do not use the session after close(); obtain a new session from the SessionFactory.
- 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.