Error: org. hibernate. hibernateexception: No currentsessioncontext configured!

Source: Internet
Author: User

Version: hibernate_core 3.3.2
Use SF. opensession ();
But now getcurrentsession () is popular. The reason is very simple. opensession () re-starts a session regardless of the situation, while getcurrentsession () adds a judgment, when there is a session, it will be called directly. If there is no session, it will be created. The benefits are obvious!
Error message I met

 

Java code :{
DP. Sh. toolbar. copytoclipboard (this); Return false;
} "Href =" # ">
  1. Org. hibernate. hibernateexception: No currentsessioncontext configured!
  2. At org. hibernate. impl. sessionfactoryimpl. getcurrentsession (sessionfactoryimpl. Java: 620)
  3. At com. hibernate. Test. hibernatetest. testsave01 (hibernatetest. Java: 23)
  4. At sun. Reflect. nativemethodaccessorimpl. invoke0 (native method)
  5. At sun. Reflect. nativemethodaccessorimpl. Invoke (nativemethodaccessorimpl. Java: 39)
  6. At sun. Reflect. delegatingmethodaccessorimpl. Invoke (delegatingmethodaccessorimpl. Java: 25)
  7. At java. Lang. Reflect. method. Invoke (method. Java: 597)
  8. At org. JUnit. Runners. model. frameworkmethod $1. runreflectivecall (frameworkmethod. Java: 44)
  9. At org. JUnit. Internal. Runners. model. reflectivecallable. Run (reflectivecallable. Java: 15)
  10. At org. JUnit. Runners. model. frameworkmethod. invokeexplosively (frameworkmethod. Java: 41)
  11. At org. JUnit. Internal. Runners. Statements. invokemethod. Evaluate (invokemethod. Java: 20)
  12. At org. JUnit. Runners. blockjunit4classrunner. runchild (blockjunit4classrunner. Java: 76)
  13. At org. JUnit. Runners. blockjunit4classrunner. runchild (blockjunit4classrunner. Java: 50)
  14. At org. JUnit. Runners. parentrunner $ 3.run( parentrunner. Java: 193)
  15. At org. JUnit. Runners. parentrunner $1. Schedule (parentrunner. Java: 52)
  16. At org. JUnit. Runners. parentrunner. runchildren (parentrunner. Java: 191)
  17. At org. JUnit. Runners. parentrunner. Access $000 (parentrunner. Java: 42)
  18. At org. JUnit. Runners. parentrunner $2. Evaluate (parentrunner. Java: 184)
  19. At org. JUnit. Runners. parentrunner. Run (parentrunner. Java: 236)
  20. At org. Eclipse. jdt. Internal. junit4.runner. junit4testreference. Run (junit4testreference. Java: 46)
  21. At org. Eclipse. jdt. Internal. JUnit. Runner. testexecution. Run (testexecution. Java: 38)
  22. At org. Eclipse. jdt. Internal. JUnit. Runner. remotetestrunner. runtests (remotetestrunner. Java: 467)
  23. At org. Eclipse. jdt. Internal. JUnit. Runner. remotetestrunner. runtests (remotetestrunner. Java: 683)
  24. At org. Eclipse. jdt. Internal. JUnit. Runner. remotetestrunner. Run (remotetestrunner. Java: 390)
  25. At org. Eclipse. jdt. Internal. JUnit. Runner. remotetestrunner. Main (remotetestrunner. Java: 197)
org.hibernate.HibernateException: No CurrentSessionContext configured!at org.hibernate.impl.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:620)at com.hibernate.test.HibernateTest.testSave01(HibernateTest.java:23)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:597)at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)at org.junit.runners.ParentRunner.run(ParentRunner.java:236)at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

Check the error message: the current sessioncontext is not configured!
Haha. I searched the internet. It turns out that
In an environment integrated with hibernate (such as JBoss), add the following to the session-factory section in hibernate. cfg. xml:

XML code :{
DP. Sh. toolbar. copytoclipboard (this); Return false;
} "Href =" # ">
  1. <PropertyName = "current_session_context_class">JTA</Property>
<property name="current_session_context_class">jta</property>

In an environment without hibernate integration (for example, a JDBC Independent Application), add the following to the session-factory segment in hibernate. cfg. xml:

 

XML code :{
DP. Sh. toolbar. copytoclipboard (this); Return false;
} "Href =" # ">
  1. <PropertyName = "current_session_context_class">Thread</Property>
<property name="current_session_context_class">thread</property>

Now use the getcurrentsession () method to get the session. No error is returned.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.