java - 读提交和幻读(Spring)

标签 java database spring transactions isolation-level

当我设置了 Read Committed 隔离级别并且在我的事务中进行了幻读时会发生什么。它会回滚并重新运行还是只是回滚?

最佳答案

除非我对 Committed Read 隔离的理解是不稳定的(总是有可能),否则 Committed Read 的全部意义在于您看不到幻影行 - 被另一个事务更改但更改从未提交并后来回滚的行.因此,在应用程序级别,通过 Committed Read 隔离,应用程序看不到幻影。

DBMS 内部做什么取决于 DBMS。在 MVCC 系统中,您的事务将简单地读取事务开始时提交的版本。在锁定系统中,您可能会碰到其他事务的锁,然后您自己的可能会跳过或阻塞。但是,据我所知,DBMS 不会因为这个问题回滚您的事务。

关于java - 读提交和幻读(Spring),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4215404/

相关文章:

java - 我想做一个可滑动的 Activity

java - AOP编程——ProceedingJoinPoint只支持around advice

javascript - 将数据发送到另一个 html 文件

iphone - 在 iphone sdk 中以编程方式创建 sqlite 数据库

java - 从实现类覆盖自定义 jar 文件中的配置属性时,entityManagerFactory 中出现错误

java - 用spring配置集群hornetq客户端

java - Spring Data JPA 方法 + REST : Enum to Integer conversion

java - 从文件中删除 Java 字符串中的字符

java - 如何在Android中使用JAVA拆分ArrayList?

Java : my program "sometimes" wont store the smallest element per row of a 2d array