Hibernate中session的产生的方式

时间:2022-03-15 00:25:43

 *  session的产生的方式
      * 1、 sessionFactory.openSession
           每次都会新创建一个session,只要新创建一个session,hibernate都会打开应用程序和数据库的连接,所以这种方式效率比较低

* 2、 sessionFactory.getCurrentSession,【需要在***.cfg.xml文件中添加配置:<property name="current_session_context_class">thread</property>】
         *  如果当前线程中没有session,先openSession,然后把session存放到当前线程中
         *  从当前线程中得到session
         *  crud操作必须有事务环境
         *  不用手动去close掉

如果配置文件的名字为:hibernate.cfg.xml,并且文件在src的根目录下,直接用 sessionFactory.openSession() 即可创建session,如果我们使用自动生成的帮助类来openSession(),帮助类里面就是采用第二种方法来创建session的,我们也没有必要再配置文件中配置"current_session_context_class" 了