在Spring Boot中设置隔离级别

时间:2019-03-22 08:44:21

标签: java spring-boot jpa

我使用Java,Spring Boot,CrudRepository和Postgresql。

如何在Spring Boot的CRUD存储库中设置隔离级别,或者如何在整个Spring Boot应用程序中设置隔离级别。

1 个答案:

答案 0 :(得分:0)

在{{1}上,用creates proxies注释的all的{​​{1}}的春天classes。代理允许框架在调用方法之前和之后注入事务逻辑,主要用于启动和提交事务。

如果事务Bean正在实现接口,则默认情况下,代理将是Java动态代理。这意味着,即使通过@Transactional注释了该方法,也只会拦截通过代理传入的外部方法调用-任何自调用不会启动任何事务。


隔离:

@Transactional使用基础数据库的默认隔离级别。

class or on any of the methods允许脏读

DEFAULT:不允许脏读

Read Uncommitted:如果在同一事务中两次读取一行,结果将始终相同

Read Committed:按顺序执行所有事务

enter image description here

有关更多详细信息,请参阅this Question

概述Here Here Here