HIbernate的事务处理和二级缓存

本文深入解析事务的概念,探讨其核心特性ACID,并详述不同事务隔离级别如何避免脏读、不可重复读及虚读等问题,为数据库操作提供稳定性和一致性保障。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.事务概述

问题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 级别·

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值