Hibernate两种得到sessionFactory方式的区别

     Hibernate 能够经过sessionFactory.openSession()和sessionFactory.getCurrentSession()来得到session,下面来浅说一下二者区别。数据库


【sessionFactory.openSession()】
     经过session工厂sessionFactory.openSession()方法来得到一个session,每次都建立一个新的session出来,而且每次Hibernate都会打开数据库和应用程序的链接。session


【sessionFactory.getCurrentSession()】
    经过session工厂的sessionFactory.getCurrentSession()方法得到session,而且与当前线程ThreadLocal绑定,但要在Hibernate中配置属性参数 current_session_context_class ,而且value设置为thread。不然通常会报没有配置当前线程的错误。经过此方式得到session有4个要点:

   1)若是当前线程中没有session,经过openSession方法来得到一个新的session,并把新的session放到当前线程中;

   2)从当前线程中的到session;

   3)经过getCurrentSession()方法执行CRUD必须要开启事务;

   4)通常不用手动关闭session;

ide

相关文章
相关标签/搜索