当前位置: 首页 > 最新文章 > 正文

SessionFactory线程session的工作过程(简述session的工作过程)

SessionFactory对应Hibernate的一个数据存储的概念,它是线程安全的,可以被多个线程并发访问。SessionFactory一般只会在启动的时候构建。对于应用程序,最好将SessionFactory通过单例模式进行封装以便于访问。然而,Session是非线程安全的对象,多线程间不能共享,它表示一个与数据库进行交互的工作单元。Session是由SessionFactory创建的,在任

admin

SessionFactory对应Hibernate的一个数据存储的概念,它是线程安全的,可以被多个线程并发访问。SessionFactory一般只会在启动的时候构建。对于应用程序,最好将SessionFactory通过单例模式进行封装以便于访问。然而,Session是非线程安全的对象,多线程间不能共享,它表示一个与数据库进行交互的工作单元。Session是由SessionFactory创建的,在任务完成之后需要把它关闭。Session是持久层对外服务提供的主要接口,应该在需要的时候才创建。为了避免创建太多的session,可以使用ThreadLocal将session和当前线程绑定在一起,这样可以让同一个线程获得的总是同一个session。在Hibernate3版本实现中SessionFactory的getCurrentSession()方法可以让同一个线程获得的总是同一个session。

「每天一道面试题」Hibernate中SessionFactory是否线程安全?

SessionFactory对应Hibernate的一个数据存储的概念,它是线程安全的,可以被多个线程并发访问。SessionFactory一般只会在启动的时候构建。对于应用程序,最好将SessionFactory通过单例模式进行封装以便于访问。然而,Session是非线程安全的对象,多线程间不能共享,它表示一个与数据库进行交互的工作单元。Session是由SessionFactory创建的,在任务完成之后需要把它关闭。Session是持久层对外服务提供的主要接口,应该在需要的时候才创建。为了避免创建太多的session,可以使用ThreadLocal将session和当前线程绑定在一起,这样可以让同一个线程获得的总是同一个session。在Hibernate3版本实现中SessionFactory的getCurrentSession()方法可以让同一个线程获得的总是同一个session。


上一篇: java常用功能接口 下一篇:算法|简单透彻图解构建空间效率最优的哈夫曼编码(C++)
返回顶部