HIbernate的事务处理和二级缓存

一.事务概述

问题1:什么是事务?

事务就是一件事情,这个事情由多个单元组成,这些单元执行时要么都成功,要么都不成功.

问题2:事务特性? (ACID)

  • 1.原子性
  • 2.一致
  • 3.隔离性
  • 4,持久性

问题3:关于不考虑事务的隔离性,会产生的问题?

  • 1.脏读----读取到另一个事务未提交的数据
  • 2.不可重复读---两次取的数据不一致(update)
  • 3.虚读---两次读取的数据不一致(insert)
  • 4,更新丢失---后提交的事务将前面事务提交的数据覆盖了。

问题4:关于  脏读   不可重复读   虚读   解决?

设置事务的隔离級别:

  • 1.read uncommitted----------什么也解决不了
  • 2.read committed-------------脏读不可解决不可重复读
  • 3.REPEATABLE READ-----脏读,不可重复读,不能解决虚读
  • 4.SERIALIZABLE------------什么都可以解决

在开发中一般使用    read_committed repeatable_read

mysgl默认隔离级别是 repeatable_read

orache默认隔离級别是 read_committed

查看隔离級别 select @@tx_isolation;

修改隔离級别 set session transaction isolation level 级别·

猜你喜欢

转载自blog.csdn.net/qwl755/article/details/84954404