Hibernate defines three states for persistent classes: transient (not associated with any session, no database row), persistent (associated with a session and has a database identity), and detached (formerly persistent but no longer associated with a session, still has database identity).