您的位置:首页 > 其它

hibernate事务---【小白系列】0基础到熟练应用hibernate框架(十)

2017-06-30 11:02 369 查看
首先我们回顾一下事物的概念

事物:

      特性:
A:原子性
C:一致性
 I :隔离性
D:持久性

       事物并发问题:

脏读
幻读|虚读
不可重复读

隔离级别

1.读未提交--->会导致所有并发问题
2.读已提交--->解决脏读
4.可重复读--->解决脏读 不可重复读
  8.串行化--->解决所有问题

在hibernate中配置数据库隔离级别

<property name="hibernate.connection.isolation">4</property>

getCurrentSession方法

此方法顾名思义,获得当前线程的session,也就是保证我们操作的session是同一个

图示:



ThreadLocal:可以理解为一个Map,Key固定为当前线程,你可以保存value。我们这里保存session
图中不难看出,我们service调用dao,通过ThreadLocal保证了操作的是同一个session
想要使用这个方法,我们还需要去配置一下,把getCurrentSession与线程绑定
<property name="hibernate.current_session_context_class">thread</property>
注意:
       1.使用getCurrentSession 方法必须配合配置才能使用
2.使用getCurrentSession获得session对象,在事物提交时自动关闭
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hibernate 框架 事务
相关文章推荐