我在Spring配置文件中对hibernate操作类中的sessionFactory进行了注入操作<bean id="queryServices" class="com.xiaoair.ws.QueryServices">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>在hibernate操作类中 Session session = sessionFactory.openSession();
session.beginTransaction();
List userlist = session.createQuery("from User").list();
session.getTransaction().commit();请问Spring会自动的进行关闭sessionFactory之类的操作吗?我好几个查询方法都是这么写的,把这些方法用XFire发布成webservice,过一段时间就请求不到,然后我重启下tomcat就一切正常了,请求还挺快,^_^。请问各位大侠,过一段时间就请求不到是什么原因?和sessionfactory没有释放有关吗?怎么看视频的时候说Spring会自动管理啊什么的?
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>在hibernate操作类中 Session session = sessionFactory.openSession();
session.beginTransaction();
List userlist = session.createQuery("from User").list();
session.getTransaction().commit();请问Spring会自动的进行关闭sessionFactory之类的操作吗?我好几个查询方法都是这么写的,把这些方法用XFire发布成webservice,过一段时间就请求不到,然后我重启下tomcat就一切正常了,请求还挺快,^_^。请问各位大侠,过一段时间就请求不到是什么原因?和sessionfactory没有释放有关吗?怎么看视频的时候说Spring会自动管理啊什么的?
session.beginTransaction();
List list = session.createQuery("from User").list();
session.getTransaction().commit();也就是说后面需要加上session.close()代码么?
session.beginTransaction();
List list = session.createQuery("from User").list();
session.getTransaction().commit();session是想在查询方法被调用的时候现场开一个,可以肯定sessionFactory是Spring管理的不需要释放之类的操作,但是通过sessionFactory打开的session就不知道了,那个session没有通过Spring注入,也就是说Spring不管,要我手动写个方法关闭了吗?
最好这样做,hibernate虽然强大,但是用不好就会出现意想不到的麻烦