I'm trying to understand better how Session management using the HibernateTemplate and HibernateTransactionManager works. From what I understand if there is a thread-bound Session the HibernateTemplate should use it.

I have a situation where I have a thread-bound Session opened, but when I enter a transaction, the HibernateSession opens a new Session for the transaction and closes it after the transaction even though it finds the thread-bound Session. Is this behavior normal?