Spring事务隔离级别vs数据库隔离级别的优先级
问题描述:
假设数据库的隔离级别设置为READ_COMMITED
。
然后通过春季交易管理,我将事务隔离级别设置为
1)READ_UNCOMMITED
- 那么这个事务的有效隔离级别是什么。
2)REPEATABLE_READ
- 那么这次交易的有效隔离级别是什么。Spring事务隔离级别vs数据库隔离级别的优先级
答
在DB中设置了默认隔离级别(在您的情况下为READ_COMMITED)和一个事务隔离级别。如果未明确指定,则使用默认级别。
Spring只是打开声明的隔离级别,当然“覆盖”数据库的默认级别。
事实上,你可以通过调用SQL做无弹簧一样
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
春天只是做了同样的话
+0
很酷。所以Spring的事务隔离设置优先于那个特定的事务。 GR8。 – samshers
一个很好的问题 - 你为什么不考呢?尽管如此,我猜测Spring会改变会话级数据库隔离模式。您可以通过在春季更改隔离模式进行测试,然后通过spring从spring查询会话级数据库设置。 – Shadow