No session currently bound to execution context

前端 未结 2 1598
无人共我
无人共我 2021-02-18 19:58

I got below exception when I used session.getCurrentSession().

I have mentioned

hibernate.current_session_context_class: managed

org         


        
相关标签:
2条回答
  • 2021-02-18 20:38

    If you are using Dropwizard Hibernate. You need to add @UnitOfWork annotation to your Resource method. More info within dropwizard manual, hibernate chapter.

    0 讨论(0)
  • 2021-02-18 20:59

    Can you try with : session.openSession() - It tell hibernate to always opens a new session and you have to close once you are done with the operations. With session.getCurrentSession(), hibernate returns a session bound to a context that you don't need to close and only need to set the hibernate.current_session_context_class to thread.

    You can also configure session with SpringSessionContext, if your application is Spring based.

    Edit your hibernate-cfg.xml with below line:

    hibernate.current_session_context_class=org.springframework.orm.hibernate3.SpringSessionContext
    

    What above line will do?

    Making session context class as "org.springframework.orm.hibernate3.SpringSessionContext ", Hibernate will assume it is executing inside of a Spring transactional context (i.e. through a Spring transactional aspect) and Spring will now manage your transaction for you. However if you call getCurrentSession() outside of such a context, Hibernate will throw an exception complaining that no Session is bound to the thread.

    0 讨论(0)
提交回复
热议问题