An entity starts transient and becomes persistent when a session tracks it. Later it can become detached or removed.
Transient. New, unknown to any session, and with no database row.
Persistent. Also called managed. The session tracks it and saves its changes to its row.
Detached. Its session closed, so changes are no longer tracked.
Removed. Marked for deletion. Hibernate deletes the row at the next flush, when pending changes go to the database.
User user = new User(); // Transient state
session.persist(user); // Persistent state
session.close(); // Detached state
user = newSession.merge(user); // Persistent again
newSession.remove(user); // Removed state
The last two lines use a new session, because the first one is closed.
Rewriting in plainer words…
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.