No Hibernate Session bound to thread, and configuration does not allow creation
JAVA_and_J2EE 2010-08-27 16:26:29 閱讀1028 評論0 字號:大中小 訂閱
異常棧:
Java程式碼
org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here
at org.springframework.orm.hibernate3.SpringSessionContext.currentSession(SpringSessionContext.java:63)
at org.hibernate.impl.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:622)
at org.springside.modules.orm.hibernate.SimpleHibernateDao.getSession(SimpleHibernateDao.java:90)
at org.springside.modules.orm.hibernate.SimpleHibernateDao.createCriteria(SimpleHibernateDao.java:284)
at org.springside.modules.orm.hibernate.SimpleHibernateDao.findUniqueBy(SimpleHibernateDao.java:165)
org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here
at org.springframework.orm.hibernate3.SpringSessionContext.currentSession(SpringSessionContext.java:63)
at org.hibernate.impl.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:622)
at org.springside.modules.orm.hibernate.SimpleHibernateDao.getSession(SimpleHibernateDao.java:90)
at org.springside.modules.orm.hibernate.SimpleHibernateDao.createCriteria(SimpleHibernateDao.java:284)
at org.springside.modules.orm.hibernate.SimpleHibernateDao.findUniqueBy(SimpleHibernateDao.java:165)使用SessionFactory.getCurrentSession執行hibernate操作時,hibernate的操作預設必須包含在一個transaction中,也就是開始要用session.begionTransaction得到一個transaction 例項(譬如tx), 操作結束時在這個例項上進行事務的提交tx.commit或回滾tx.rollback. 如果這些CRUD操作不被包括在一個具體的transaction中,hibernate就會丟擲上述異常。
在實際的SSH web應用開發中,我們通常用spring來進行事務的管理。我們一般不會在dao層使用transaction,事務被配置在service層上更為合理,因為業務層方法表示邏輯上的一個原子操作。在這種環境下,如果你遇到上述異常,請核查一下service層上有沒有配置transaction,transaction有沒有開啟,service層配置的transaction是否正確。
相關文章
- No Hibernate Session bound to threadSessionthread
- 解決SpringMVC+Hibernate錯誤: No Hibernate Session bound to threadSpringMVCSessionthread
- Error message Object BOM does not allow filter on MAST.STLNRErrorObjectFilterAST
- 【hibernate】Session快取Session快取
- 如何管理hibernate 的session?Session
- Hibernate的session問題Session
- hibernate中的no session問題Session
- Java Hibernate 之 Session 狀態JavaSession
- HIBERNATE的SESSION和事務Session
- unity GPU bound or CPU boundUnityGPU
- hibernate的session.connection被session.dowork()替代Session
- 如何區分 Connection、Thread和SessionthreadSession
- SAP ME12 修改PIR,系統提示:Condition type P000 does not allow supplementary
- hibernate.current_session_context_classSessionContext
- 請教hibernate 中session問題Session
- Hibernate中的Session快取問題Session快取
- C++ lower_bound upper_boundC++
- Scheduler&Task&Worker&Thread&Request&Session&Connection OF MSSQLthreadSessionSQL
- Hibernate取Session需要用單例嗎?Session單例
- Hibernate中Session.load/get區別Session
- hibernate, Configuration config = new Configuration().configure()時出錯,請大家指點
- Branch and Bound AlgorithmGo
- 菜鳥學SSH(九)——Hibernate——Session之save()方法Session
- Spring與Hibernate整合中的session問題SpringSession
- Hibernate中session.getconnection()的替代方法Session
- SpringMVC @Transactional的陷井大坑引發No Session found for current threadSpringMVCSessionthread
- Hibernate的Session的get()和load()方法區別Session
- hibernate的事務管理和session物件的詳解Session物件
- hibernate中Session的執行緒安全的討論Session執行緒
- hibernate open session in view 丟擲異常解決方法SessionView
- Straightforward Lower BoundAIForward
- 異常資訊解決:Could not obtain transaction-synchronized Session for current threadAIsynchronizedSessionthread
- Could not obtain transaction-synchronized Session for current thread原因及解決方案AIsynchronizedSessionthread
- 錯誤記錄(九)Could not obtain transaction-synchronized Session for current threadAIsynchronizedSessionthread
- 解決Hibernate session is closed的一種可行性方案Session
- Linux Process/Thread Creation、Linux Process Principle、sys_fork、sys_execve、glibc fork/execve api sourcecodeLinuxthreadAPI
- Hibernate的一級快取Session和二級快取SessionFactory快取Session
- hibernate中建立session的兩種方式方式,區別在哪裡?Session