No session currently bound to execution context

浪子不回头ぞ 提交于 2019-12-05 10:27:20

问题


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

I have mentioned

hibernate.current_session_context_class: managed

org.hibernate.HibernateException: No session currently bound to execution context
    at org.hibernate.context.internal.ManagedSessionContext.currentSession(ManagedSessionContext.java:75)
    at org.hibernate.internal.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:1014)
    at io.dropwizard.hibernate.AbstractDAO.currentSession(AbstractDAO.java:36)
    at io.dropwizard.hibernate.AbstractDAO.persist(AbstractDAO.java:149)

I use this with dropwizard. Can anyone help me to solve this?


回答1:


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




回答2:


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.



来源:https://stackoverflow.com/questions/30212125/no-session-currently-bound-to-execution-context

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!