今天生产碰到个问题,大致调用情况如下,都是**单表单条记录**操作,不存在不同session对不同记录执行顺序问题:
1、Service1 调用 dao1执行 select for update语句,只是查询不执行update。
2、TransactionSerivice1 调用 dao1执行 select for update语句,并执行update。
3、Service2 调用 dao1执行 select for update语句,只是查询不执行update。 此时报ORA-00060 死锁。
实在不明白到底怎么引起的死锁,都是**单表单条记录语句**,并且只有TransactionSerivice1中执行对表执行udpate操作。Service1、Service2不在事务内,所以 select for update应该不会造成这种问题。求大神解答