如题,网上说Spring Boot默认开启事务,是不是即使不加@Transactional注解,框架也自动帮我们开启了事务,如果开启了,事务的隔离级别如何呢?另外实际生产环境什么时候需要用到事务呢,隔离级别该如何设置呢?
如题,网上说Spring Boot默认开启事务,是不是即使不加@Transactional注解,框架也自动帮我们开启了事务,如果开启了,事务的隔离级别如何呢?另外实际生产环境什么时候需要用到事务呢,隔离级别该如何设置呢?
15 回答7k 阅读
2 回答3.3k 阅读✓ 已解决
3 回答7.1k 阅读✓ 已解决
5 回答4.7k 阅读
3 回答5.2k 阅读
4 回答2.4k 阅读
2 回答2.3k 阅读✓ 已解决
是的,在执行数据库写操作时 spring boot 框架一般会默认开启。
但是不加
@Transactional
的情况下,事务不好控制。默认的隔离级别应该是
READ_COMMITTED
。在生产环境中,只要涉及到写操作,都会涉及到事务,在生产环境中,所有涉及到写操作的方法上,都应该加上
@Transactional
,除非你很明确的知道自己在做什么。例如
隔离级别该如何设置,如果你对这个这个问题有疑问,那么建议不要做任何设置。