Hibernate入门(四)之hibernate中session的创建方式
来源:互联网 发布:施工网络进度计划 编辑:程序博客网 时间:2024/05/16 12:58
为什么要专注于session的创建方式
在有些场景必须关注session的创建,比如说在银行转账操作的时候,两个账户转账必须在同一个session中
如上面所示,账户1钱没了,账户2钱却没有到,原因就在于两者不再同一个事务当中,不能实现事务的回滚。
getCurrentSession
说明:
1、产生方式的说明
1、先检查当前线程中是否有session
2、如果当前线程中有session,则把session提取出来,直接使用
3、如果当前线程中没有session,则采用openSession方法创建session
4、把新创建的session放入到threadlocal中
5、当再次得到session的时候就是从当前线程中获取了
2、用法
1、在hibernate.cfg.xml文件中
说明session从当前线程中获取
2、在代码中
说明:
1、crud操作必须在事务的条件下运行
2、当事务提交的时候,session自动关闭
3、这种做法相当于把session和事务绑定在一起了
session总结
1、数据库的链接是由session来完成的
2、事务是由session产生的
3、Crud操作是由session完成的
4、一级缓存就是session的缓存,可以存放持久化对象
5、Session可以有两种打开方式 openSession和getCurrentSession
0 0
- Hibernate入门(四)之hibernate中session的创建方式
- Hibernate中Session对象创建的几种方式
- hibernate进二阶之项目中session的管理方式
- Hibernate创建数据库的四种方式
- hibernate学习之 session的产生方式
- Hibernate之session的管理方式
- 【Hibernate】项目中session的管理方式
- hibernate之session实例的创建
- hibernate之session实例的创建
- Hibernate入门(三)之hibernate 的session的缓存机制
- hibernate中创建session的两种方式方式,区别在哪里?
- hibernate session的获取方式
- hibernate-Session的产生方式
- hibernate 获取Session 的方式
- Hibernate获得session的方式
- Hibernate 创建session的步骤
- (hibernate之四)session的load方法和get方法
- Hibernate中SessionFactory的创建和Session的获取
- 一个简单的实现不同权限的用户登录后看到不同的菜单设计的数据库表清单
- 深度学习之-caffe预测、特征可视化python接口调用 (6)
- Android使用TabLayout实现选项卡
- Maven项目中不打包 *.hbm.xml 映射文件
- CSS3.0入门笔记(二)
- Hibernate入门(四)之hibernate中session的创建方式
- 在Node.js中实现任务调度与执行
- 大话设计模式-桥接模式
- synchronized的使用方法(2)
- JDK安装与环境变量配置
- poj 3278 bfs
- ArcEngine定义查询
- bzoj3667: Rabin-Miller算法
- Django simple sample