sessionFactory.getCurrentSession()  报错:No Session found for current thread

解决方案 »

  1.   

    sessionFactory.getCurrentSession方法需要在hibernate.cfg.xml做如下配置(Hibernate SessionFactory中openSession和getCurrentSession方法的区别),你看看你的有没有<propertynamepropertyname="current_session_context_class" >thread</property>  另外参考Hibernate4 No Session found for current thread原因
      

  2.   

    你的spring没配置好datasource或者sessionfactory吧?getcurrentsession是如果没有session,会自动创建一个session,get就是获取线程里存在的session
      

  3.   

    目测是spring没有配置好,从userservuce获取不到说明启动tomcat 的时候没有成功实例化这个对象。楼主耐心看一下spring配置文件
      

  4.   


    我的用户管理模块是可以这样sessionFactory.getCurrentSession 取到session的,就是不知道为何在这个实现了HttpSessionListener接口的类里面无法取到。
      

  5.   


    我的用户管理模块是可以这样sessionFactory.getCurrentSession 取到session的,就是不知道为何在这个实现了HttpSessionListener接口的类里面无法取到。配置文件没问题啊,我CRUD 都没问题,就这个类里面获取不到直接注入SessionFactory也不行,~
      

  6.   


    我的用户管理模块是可以这样sessionFactory.getCurrentSession 取到session的,就是不知道为何在这个实现了HttpSessionListener接口的类里面无法取到。配置文件没问题啊,我CRUD 都没问题,就这个类里面获取不到直接注入SessionFactory也不行,~
    ---------------
    你获取session用不用实现sessionAware这个接口啊?如果不用..那就你再问问人吧,我也不清楚了
      

  7.   


    我的用户管理模块是可以这样sessionFactory.getCurrentSession 取到session的,就是不知道为何在这个实现了HttpSessionListener接口的类里面无法取到。配置文件没问题啊,我CRUD 都没问题,就这个类里面获取不到直接注入SessionFactory也不行,~
    ---------------
    你获取session用不用实现sessionAware这个接口啊?如果不用..那就你再问问人吧,我也不清楚了不用,是注入到我的BaseHibernatDAO里面的,然后我的serviceimpl都继承BaseHibernatDAO这样都是没问题的。
      

  8.   

    注入进来即可。
    @AutoWired 直接从你Spring的配置文件里面取sessionFactory