session.beginTransaction();
User usr = (User)session.get(User.class, new Long(1));//如果调用load()就会引发异常。
session.getTransaction().commit();
session.close();
System.out.println(usr.getLogin());
如上面注释所示:load()采用的是lazy加载方式,也即是说并没有真正的去读取数据,二十当你需要的时候去获得。而如上代码所示:在第5行需要的时候session已经关闭,所以会引发异常,而利用load方式则会真正的加载数据,所以不会产生异常。