A org.hibernate.Session begins when the first call to getCurrentSession() is made for the
current
thread. It is then bound by Hibernate to the current thread. When the transaction ends,
either through commit or rollback, Hibernate automatically unbinds the org.hibernate.Session
from the thread and closes it for you. If you call getCurrentSession() again, you get a new
org.hibernate.Session and can start a new
unit of work.Where as if you use getSession() ,it needs to be closed manually,which some times causes resourse leakage problem