问答详情
源自:2-5 session详解(上)

第二种获得session的方式一般在什么情况下会用到?

感觉能用第二种方式的时候也可以用openSeesion呀,getCurrentSession就感觉没什么用了

提问者:AndyHT 2015-05-27 17:13

个回答

  • Coda
    2015-05-27 17:32:40
    已采纳

    openSession 每次使用都是打开一个新的session,使用完需要调用close方法关闭session;

    getCurrentSession 是获取当前session对象,连续使用多次时,得到的session都是同一个对象,这就是与openSession的区别之一 ;

    一般在实际开发中,往往使用getCurrentSession多,因为一般是处理同一个事务,所以在一般情况下比较少使用openSession;


  • 海与千巷
    2016-09-28 09:50:45

    也是我想问的,学习了

  • GOGO硬
    2016-09-22 22:42:45

    对2楼的补充,openSession存在线程并发问题,而getCurrentSession的方式获取会话,一个用户拿到会话会自动的绑定一个线程,直到当前session失效,hibernater会将线程剥离会话,保证了每个用户操作数据的唯一性