Hibernate-openSession与getCurrentSession区别
2015-07-06 20:25
232 查看
openSession 每次使用都是打开一个新的session,使用完需要调用close方法关闭session;如果使用openSession而没有手动关闭,多次之后会导致连接池溢出(Connection对象不会被释放)
getCurrentSession 是获取当前session对象,连续使用多次时,得到的session都是同一个对象,这就是与openSession的区别之一 ;
一般在实际开发中,往往使用getCurrentSession多,因为一般是处理同一个事务,所以在一般情况下比较少使用openSession;
使用getCurrentSession需要在配置文件中配置
如果是本地事务(jdbc事务)
<property name="hibernate.current_session_context_class">thread
</property>
如果是全局事务 (jta事务)
<property name="hibernate.current_session_context_class">jta</property>
getCurrentSession 是获取当前session对象,连续使用多次时,得到的session都是同一个对象,这就是与openSession的区别之一 ;
一般在实际开发中,往往使用getCurrentSession多,因为一般是处理同一个事务,所以在一般情况下比较少使用openSession;
使用getCurrentSession需要在配置文件中配置
如果是本地事务(jdbc事务)
<property name="hibernate.current_session_context_class">thread
</property>
如果是全局事务 (jta事务)
<property name="hibernate.current_session_context_class">jta</property>
相关文章推荐
- 总结二:Linux系统的常见发行版(发行商)
- Linux(树莓派b+)学习~putty远程登录
- 解决Linux安装 VMware tools 工具的方法
- 分布式消息队列RocketMQ部署与监控
- UVa 679 - Dropping Balls
- VMware中安装Linux,鼠标到处跑解决1
- 大约apache 2.4.X虚拟主机配置问题的版本号后,
- 智能视频监控中的遗留物检测或搬移物检测
- android ADB 基本shell命令
- linux 文件管理
- linux区分大小写,windows不区分
- ubuntu 安装openssh-server和openssh-client时呈现错误:The following packages have unmet dependencies: openssh
- LINUX命令后面常见的>/DEV/NULL 和 2>&1 的含义
- Linux下/dev/mem和/dev/kmem的区别
- linux tomcat 安装步骤
- 查看现有运行的linux服务器有多少内存条
- 关于java 在linux 上迁移
- 信庭嵌入式工作室-Linux系统Bootloader简介(回顾)
- Linux C语言程序设计(二)——分支与循环
- Linux中断(interrupt)子系统之五:软件中断(softIRQ)