如题:Spring管理Session何时打开何时关闭,对于一些单个的操作,是比较简单,我现在想知道,当某个业务中我们要像数据库发送N条SQL语句,那么此时的Session又是怎么管理的,是一直处于打开状态的吗?还是发送一条就打开和关闭一次,请高手指教,那么Session又是在何时打开和关闭的?

解决方案 »

  1.   

    貌似只要插入一条数据,他就关闭一次。
    当spring通过过滤器时,只要看到session时关闭的,他就打开了,如果没有关闭就继续用。你可以插入N条,看看数据库
      

  2.   

    那要看将事务放在哪个范围。例如放在逻辑层,那就是执行逻辑层方法时打开,执行完毕后关闭。实际上是个拦截器,看AOP切入点在什么地方。
      

  3.   


    我来补充几句。在不涉及到使用OpenSessionInView的时候,这个是正解。
    如果使用了OpenSessionInView的话,Session的开始和关闭是已HTTP请求开始为开始,HTTP请求的结束为关闭的。