ssh整和hibernate时出现错误(二)

来源:互联网 发布:网络知识竞赛2017平台 编辑:程序博客网 时间:2024/05/29 02:33


org.hibernate.HibernateException:No Session found for current thread

        atorg.springframework.orm.hibernate4.SpringSessionContext.currentSession(SpringSessionContext.java:97)

        atorg.hibernate.internal.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:1039)

        atsy.dao.impl.UserDaoImpl.save(UserDaoImpl.java:31)

        atsy.service.impl.UserServiceImpl.save(UserServiceImpl.java:43)

        atsy.test.TestHibernate.test(TestHibernate.java:22)

        atsun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        atsun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

        atsun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

        atjava.lang.reflect.Method.invoke(Unknown Source)

        atorg.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)

        atorg.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)

        atorg.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)

        atorg.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)

        atorg.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)

        atorg.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)

        atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73)

        atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46)

        atorg.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)

        atorg.junit.runners.ParentRunner.access$000(ParentRunner.java:41)

        atorg.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)

        atorg.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)

        atorg.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)

        atorg.junit.runners.ParentRunner.run(ParentRunner.java:220)

        atorg.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)

        atorg.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

        atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)

        atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)

        atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)

        atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

 

 

 

 

1. spring配置文件中加入

 程序代码

 

<tx:annotation-driventransaction-manager="transactionManager"/>

 

2、并且在处理业务逻辑的类上采用注解

 程序代码

 

@Service

public classCustomerServiceImpl implements CustomerService { 

   @Transactional

   public void saveCustomer(Customer customer){

       customerDaoImpl.saveCustomer(customer);

   }

}

 

 

 

 

0 0
原创粉丝点击