一,概述
Hibernate的session其实在内部维护了一条数据库连接,如果每次通过如下方式获取session,那么每次都要创建一个新的session,使用完之后还要记得关闭session,否则就造成资源浪费.
private static SessionFactory sf=new Configuration().configure().buildSessionFactory();
Session session=sf.openSession();
但是如果通过线程的方式创建session的话,就不会存在这种情况了.线程方式创建的session不用关闭;线程结束,session自动关闭.
二,线程方式创建session
1)必须要在hibernate.cfg.xml中配置
<!-- session的创建方式 -->
<property name="hibernate.current_session_context_class">thread</property>
2)获取session
private static SessionFactory sf=new Configuration().configure().buildSessionFactory();
Session session3 = sf.getCurrentSession();// 创建session,绑定到线程