问答详情
源自:2-6 session详解(下)

测试getCurrentSession时发现的问题

测试getCurrentSession时

Transaction transaction = session.beginTransaction();这句话要放到session.doWork()之前,Work重写的excute()方法才能执行

但是在测试openSession时,这句代码放在session.doWork()之后,重写的excute()方法也能执行 这是为什么?


提问者:慕虎6436455 2017-03-10 13:04

个回答

  • 弥夏l0ve
    2017-03-10 16:46:07

    doWork()方法中的参数是Connection链接对象。session在链接中充当的是Connection对象。当你openSession()的时候,doWork()就能够获取Connection对象。主要原因还是openSession()方法打开的session需要手动关闭。