I'm seeing this same behavior, after following online examples on setting this up in a servlet container environment.
My DAO inherits from HibernateDaoSupport, and I call getSession(false) to get the session. At that point, I get the following exception. Note that up to now, I've made NO explicit Hibernate calls.
My setup is a bit different: I use AnnotationSessionFactoryBean, and I get my data source from JNDI. Prior to trying to use Hibernate, I was successfully using Spring's JDBC data access support.
Code:
18:53:21.713 DEBUG org.springframework.web.servlet.FrameworkServlet (FrameworkServlet.java:413) Could not complete request
java.lang.IllegalStateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here
at org.springframework.orm.hibernate3.SessionFactoryUtils.doGetSession(SessionFactoryUtils.java:357)
at org.springframework.orm.hibernate3.SessionFactoryUtils.getSession(SessionFactoryUtils.java:189)
at org.springframework.orm.hibernate3.support.HibernateDaoSupport.getSession(HibernateDaoSupport.java:169)
at com.mycompany.myprod.bus.MyDAO.save(MyDAO.java:95)
...