Session session = sessionFactory.openSession();
每次创建新的session,比较古老的用法,并且需要手动的关闭session.
Session session = sessionFactory.getCurrentSession();
在session没有提交之前不管创建多少session都是同一个session,但是一旦执行了session.getTransaction().commit();方法之后,session自动关闭,之前的session失效,此时再执行 sessionFactory.getCurrentSession();,就是产生的新的session了。并且不需要手动的关闭session.
第二种简单来说就是: 从上下文中找,如果有,则有旧的,如果没有,则创建新的。
并且可以起到界定事务边界的作用。