openSession
//获取的session没有与本地绑定,必须手动关闭session,
Session session =sf.openSession();
session.close();
getCurrentSession
用这个方法的时候需要在hibernate.cfg.xml中添加一个配置属性:
<property name="hibernate.current_session_context_class">thread</property>
然后在获取session时使用SessionFactory.getCurrentSession()方法:
//获取的session是与本地线程绑定的,当线程结束后就会自动关闭session,不需要手动关闭线程了;
Session session=sf.getCurrentSession();