您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

@Transactional 锁表吗?关于Spring注解@Transactional和SQL for update 的一些观点

bubuko 2022/1/25 19:31:02 java 字数 1098 阅读 940 来源 http://www.bubuko.com/infolist-5-1.html

@Transactional 锁表吗?关于Spring注解@Transactional和SQL for update 的一些观点 工作前几年中,一直接触的是JDBC原生的事务处理方式。 1. 获取 connection 2. try { con = getDBConnection(); // sql ...

@Transactional 锁表吗?关于Spring注解@Transactional和SQL for update 的一些观点

工作前几年中,一直接触的是JDBC原生的事务处理方式。

1. 获取 connection

2. try {

  con = getDBConnection();

  // sql for update 锁A表, B表。。表记录

  //增删改查

       多个业务处理,

  

      con.commit()

  //最后提交

3. }  catch Exception {

  con. 回滚

4. finally {

  con.close();

}

后期用了spring 后, @Transactional 实际上代替了try catch finally . 还有 con获取,提交,回滚的操作。

但是 锁表记录的动作,并不在 这个注解的职责里。 

所以还是需要 在 dao层 更新记录前,查询记录加行级锁的。 俗称悲观锁, 或者 不加锁使用version判断。俗称乐观锁。

来搞一下的。

这两个是不同的职责范围,即:@Transactional注解不包含for update.

。如此。而已。

@Transactional 锁表吗?关于Spring注解@Transactional和SQL for update 的一些观点

原文:https://www.cnblogs.com/java2sap/p/13390148.html


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶