在HIBERNATE配置文件中配置了连接池,那么当我调用getSession()方法时是从连接池中拿吗?是不是就不用关连接了?如果我调用了session.close()方法,这个连接是关了还是放回连接池.什么时候关连接?请高手回答,谢谢.在线等,有满意答案就给分
回答请详细点,谢谢

解决方案 »

  1.   

    参考:Session session = super.getSession();String hql = "from Item as i";List l = session.createQuery(hql).list();releaseSession(session);
      

  2.   

    当然是从连接池中拿!.close()不就是关连接,同时也放回去!
    连接池的概念,你应该好好看一下!连接池就是事先放一些连接在那,然后getSession()就是去取一个,用完再close掉,关了同时放回连接池!现在明白了?呵呵!
      

  3.   

    4楼,你的意思是如果不配置连接池,就是关连接,配置了连接池就是放回去是吗?也就是说,调用了getSession()后一定要调close(),对吗?我是楼主~~~
      

  4.   

    数据库连接池的作用就是减少每次连接的时候都必须重新连接数据库。池中有已经与数据库连接好的session,需要的时候可以直接用这个session连接数据库。当你调用session的时候,连接池为这个连接从池中取出一个session用与当前调用,当你closed以后就关闭这个session,即将这个session还给池以供其他程序应用