Hibernate 的Session 是和数据库的一个会话对象,所有对数据库的操作都是通过Session 完成的。
而Hibernate 为这个Session 提供了两种获取方式,它们分别是通过SessionFactory 的openSession
和 getCurrentSession
方法获取到的。
openSession
官方api 对openSession
函数的描述是创建一个Session。
getCurrentSession
官方api对getCurrentSession
函数的描述是获取当前线程的Session。
当然如果当前线程没有Session 的话,则会创建个Session,这个Session 会和当前线程绑定到一起,提供当前线程下次使用。并且这个Session 会根据事务的提交和回滚进行关闭。而openSession
则需要手动关闭。