由于初次使用goland实现业务逻辑,对orm不熟悉,所以踩了一个坑,记录下来以便以后注意.
image.png
如上代码段,开启事务之后,在处理异常情况时,一定要先回滚,在抛出异常信息,否则会导致事务无法完成,出现数据库锁表的情况.
image.png
如果在异常处理的流程控制语句中不需要回滚操作,此时一定不能抛出异常,不然就会导致事务无法提交而出现锁表.
由于初次使用goland实现业务逻辑,对orm不熟悉,所以踩了一个坑,记录下来以便以后注意.
如上代码段,开启事务之后,在处理异常情况时,一定要先回滚,在抛出异常信息,否则会导致事务无法完成,出现数据库锁表的情况.
如果在异常处理的流程控制语句中不需要回滚操作,此时一定不能抛出异常,不然就会导致事务无法提交而出现锁表.