A Hibernate Session object represents a unit of work in hibernate. A session represents a transaction in a database.
A session begins when getCurrentSession() is called first on the current thread, and is then bound to the current thread. When the transaction ends with a commit or rollback, Hibernate automatically unbinds the session from the thread and closes it.