I am a beginner in both hibernate and spring. I have understood about the hibernate transaction demarcation (at least I think so). But after coding a few method like this:
@hephestos: The value for the parameter current_session_context_class
decides the context to which the session (Hibernate session) must be bound with.
By default it is bound with the currently running thread. But when "jta" is used to manage transactions, changing the value of this parameter to "jta" binds the session to the current JTA transaction context.
Basically it defines the context for the sessions. More information: http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/architecture.html#architecture-current-session
Remove the following line, it interferes with Spring-managed transactions:
<property name="current_session_context_class">thread</property>