首页 > Web开发 > 详细

Hibernate入门(四)之hibernate中session的创建方式

时间:2016-05-12 23:00:37      阅读:158      评论:0      收藏:0      [点我收藏+]

为什么要专注于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

Hibernate入门(四)之hibernate中session的创建方式

原文:http://blog.csdn.net/qq_28483283/article/details/51347379

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!