我使用Java、Spring、CrudRepository和Postgresql。
如何在Spring中在CRUD中设置隔离级别,或者如何在整个Spring应用程序中设置隔离级别。
发布于 2019-03-22 09:29:26
Spring creates proxies for all classes加上@Transactional注解--无论是在class or on any of the methods上。代理允许框架在调用方法之前和之后注入事务逻辑--主要用于启动和提交事务。
如果事务性bean正在实现接口,默认情况下,代理将是Java动态代理。这意味着只有通过代理传入的外部方法调用才会被拦截--任何自调用调用都不会启动任何事务--即使该方法被@Trans手记注释。
与世隔绝:
DEFAULT:使用基础数据库的默认隔离级别。
Read Uncommitted:允许脏读取
Read Committed:不允许脏读取
如果在同一事务中读取两次行,则结果始终是相同的。
Serializable:以一个序列执行所有事务。

有关更多细节,请参考这个问题。
https://stackoverflow.com/questions/55295817
复制相似问题