求教spring jdbc 编程式事务 与申明式事务 死锁如何解决?

当前场景是这样的:
有个线程1 使用编程式事务进行数据库操作,设计到多个数据库操作语句(编程式事务就是声明式事务糅合到一起)。
有个线程2 使用声明式事务进行数据库操作。

如果 线程1 开始事务begin后,删除表A的数据a, (中间时间C中,做了一些其他等待操作 ),事务才提交commit
线程2 刚好在时间C中,欲对数据a进行修改。

这个时候就会出现死锁。

请问这种方式有没有解决方法?
1. 事务操作弄成串型化可以解决这个方法,但可能性能不足。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^