@Transactional事务表被锁
通常在执行查询的时候,进行更新。数据量大的时候会出现锁表情况,只须在查询上不加事务,写操作则加上。
只读事务
@Transactional(readOnly=true,propagation=Propagation.NOT_SUPPORTED)
读写事务
@Transactional (propagation=Propagation.REQUIRES_NEW)
@Transactional注解乱用引发的异常
Service层加入事务注解,若引发未被捕获的异常,则全部回滚
最近做一个功能,导入excel,并根据excel的内容,通知第三方(有赞)更改数据。
(excel表的读取是队友做的,读完后写入数据库)。
我查数据库,并遍历。轮询推送给有赞。再service层不小心加了@Transactional注解。
导致出现异常(如excel表数据有错导致查库查不到,数据全部回滚) 。
后来发现加了@Transactional注解,删除后,正常,正确数据会执行,错误数据会展示。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。