hibernate的sessionfactory

SessionFactory就相当于之前的数据连接池 他存放了大量的session

 

  • SessionFactory 相当于java web连接池,用于管理所有session
  • 获得SessionFactory 方式:config.buildSessionFactory();
  • sessionFactory 还用于缓存配置信息 (数据库配置信息、映射文件,预定义HQL语句 等)
  • SessionFactory线程安全多个线程同时访问时,不会出现线程并发访问问题

 

 

Session 会话

session会话的获取

  • sessionFactory提供了两个方法来获取session
  1. factory.openSession() 获取一个全新的session        需要手动关闭
  2. factory.getCurrentSession() 获取一个与当前线程绑定的session    不需要手动关闭

 第二种方法需要注意:

a.要使用这个方法必须在hibernate.cfg.xml中配置

<property name="hibernate.current_session_context_class">thread</property>

b.hibernate支持,将创建的session绑定到本地线程中,底层使用ThreadLocal,在程序之间共享session。

c.如果提交或者回滚事务,底层将自动关闭session 所以不需要我们手动关闭

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值