openSession()与getCurrentSession()区别
来源:互联网 发布:淘宝上怎么人工客服 编辑:程序博客网 时间:2024/06/07 16:52
1.getCurrentSession创建的session会和绑定到当前线程,而openSession不会。
2. getCurrentSession创建的线程会在事务回滚或事物提交后自动关闭,而openSession必须手动关闭。
这里getCurrentSession本地事务(本地事务:jdbc)时要在配置文件里进行如下设置
* 如果使用的是本地事务(jdbc事务)
<property name="hibernate.current_session_context_class">thread</property>
* 如果使用的是全局事务(jta事务)
<property name="hibernate.current_session_context_class">jta</property>
3.getCurrentSession () 使用当前的session,openSession() 重新建立一个新的session
4.在一个应用程序中,如果DAO 层使用Spring 的hibernate 模板,通过Spring 来控制session 的生命周期,则首选getCurrentSession ()。
5.在 SessionFactory 启动的时候, Hibernate 会根据配置创建相应的 CurrentSessionContext ,在 getCurrentSession() 被调用的时候,实际被执行的方法是 CurrentSessionContext.currentSession() 。在 currentSession() 执行时,如果当前 Session 为空, currentSession 会调用 SessionFactory 的 openSession 。所以 getCurrentSession() 对于 Java EE 来说是更好的获取 Session 的方法。
- getCurrentSession()与openSession() 区别
- getCurrentSession与openSession区别
- getCurrentSession与openSession区别
- openSession与getCurrentSession区别
- openSession()与getCurrentSession()区别
- openSession()与getCurrentSession()区别
- getCurrentSession 与 openSession() 的区别 getCurrentSession 与 openSession() 的区别
- getCurrentSession 与 openSession() 的区别
- getCurrentSession 与 openSession() 的区别
- getCurrentSession()与openSession()的区别
- getCurrentSession 与 openSession() 的区别
- getCurrentSession 与 openSession() 的区别
- getCurrentSession与openSession()得区别
- getCurrentSession 与 openSession() 的区别
- openSession与getCurrentSession的区别
- getCurrentSession 与 openSession() 的区别
- getCurrentSession 与 openSession() 的区别
- getCurrentSession 与 openSession() 的区别
- 点点滴滴
- 在安卓开发中如何在代码中设置ImageView中src中这个参数
- UIButton 设置阴影效果
- Hibernate4和spring整合 NO session for current Session
- iOS UIView非常用方法及属性详解
- openSession()与getCurrentSession()区别
- oracle用户管理实例
- 解决fedora更新后没有无线连接问题,及无线网卡的手动安装全过程
- 495个C语言问题读书笔记一
- hdu1213解题报告
- 新锐房地产销售管理系统(部分流程)技术解析(七) 销售管理_认筹管理
- Effective C++ 条款23
- Android---60---Notification 通知栏的简单使用
- 调侃《Head First设计模式》之总结篇