No CurrentSessionContext configured ------Hibernate
在使用Hibernate中使用session = sf.getCurrentSession()时出现异常
01.org.hibernate.HibernateException: No CurrentSessionContext configured! 02. at org.hibernate.impl.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:698) 03. at cn.neilone.test.TeacherTest.T1(TeacherTest.java:35) 04. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 05. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 06. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 07. at java.lang.reflect.Method.invoke(Method.java:597) 08. at org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99) 09. at org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81) 10. at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34) 11. at org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75) 12. at org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45) 13. at org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:66) 14. at org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35) 15. at org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42) 16. at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34) 17. at org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52) 18. at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45) 19. at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 20. at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460) 21. at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673) 22. at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386) 23. at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
原因是hibernate.cfg.xml中没有配置正确,如果是web应用增加配置
<property name="current_session_context_class">jta</property>
如果是Java应用,增加如下配置
<property name="current_session_context_class">thread</property>