JPA事务
来源:互联网 发布:阶乘java递归方法 编辑:程序博客网 时间:2024/06/16 06:43
1) 基本概念
事务特性ACID:原子性、一致性、隔离性、持久性
事务的分类:JTA事物,Resource_Local事务
2) 数据事务并发带来的问题
脏读:事务读取了其他事务还未提交的数据
不可重复读:同一个事务先后两次或两次以上的相同查询,每次查询的结果不一样
幻读:跟不可重复的类似(另一个插入后导致读取的条目数不一样)
不可重复读和幻读区别:不可重复读在于记录的值,幻读在于记录的数量
3) 事务的传播特性
PROPAGATION_MANDATORY:方法必须在事务中进行,如果当前没有事务,就抛出异常。
PROPAGATION_NESTED:如果当前存在事务,方法则在嵌套事务内执行,嵌套事务可以独立提交或回滚
PROPAGATION_NEVER:该方法不能运行在事务中
PROPAGATION_REQUIRED:支持当前事务,如果当前没有事务,就新建一个事务。最常见的选择
PROPAGATION_SUPPORTS:不需要事务的支持,如果当前存在事务,就在当前事务中执行
PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
PROPAGATION_REQUIRES_NEW:新建事务,如果当前存在事务,把当前事务挂起。
4) 事务的隔离级别
ISOLATION_DEFAULT: 数据库设置的隔离级别
ISOLATION_READ_UNCOMMITTED:会出现脏读、不可重复读、幻读(隔离级别最低,并发性能高)
ISOLATION_READ_COMMITTED:会出现不可重复读、幻读问题(锁定正在读取的行)
ISOLATION_REPEATABLE_READ:会出幻读(锁定所读取的所有行)
ISOLATION_SERIALIZABLE:串行执行,完全服从ACID的事务隔离级别(锁表)
5) 如何使用?
通过aop配置或注解方式
- JPA事务
- JPA调用事务
- JPA的事务配置
- JPA事务控制设置
- JPA事务简介
- hibernate jdbc jpa 事务超时
- spring data jpa 事务控制
- Spring掌管JPA事务要点明细
- jpa+spring 事务的一些问题
- spring jpa删除时的事务异常
- Spring Data JPA,事务导致的异常
- Spring Data JPA配置事务失效问题解决
- JPA 存储过程 事务 statement is closed.
- spring mvc + jpa 事务无法提交
- JTA Entity JPA 事务(Transaction) 会话(Conversation)
- [JavaEE - JPA] 1. 事务的基础概念
- Spring Data JPA事务失效问题
- jpa、mybatis事务混合测试记录
- FDATOOL设计数字滤波器
- OGNL的简单使用
- 《第一行代码》复习遗漏重难点整理1-2章
- 第三十六讲项目5——有多少符号
- Redis-Java中使用
- JPA事务
- 控制执行流程
- 救济金发放的解决
- [Leetcode] 2. Add Two Numbers 解题报告
- Matlab编程序设计数字滤波器
- js 笔记
- java_day02_二进制和十进制之间的转换
- MySQL与PostgreSQL:该选择哪个开源数据库?哪一个更好?
- linux 线程控制