我正在尝试使用带有JPA到Oracle 11g的Query Annotation更新一个简单的行
这是我的代码:
@Transactional()
@Modifying
@Query(value="UPDATE Irregularities SET IRREST_ID = 0 WHERE IRREGS_ID = 1006", nativeQuery = true)
int updateState();
这工作正常,但由于某种原因不再适用。没有错误,只是挂起。
如果我尝试在同一个BDD中使用Oracle SQL Developer运行相同的查询,则可以正常工作。
可能是锁表问题?为什么在SQL Developer中工作但在Springboot中没有?
非常感谢您提供的任何帮助。
答案 0 :(得分:0)
您可以找到具有该查询的锁(将其作为sysdba运行)
select
(select username || ' - ' || osuser || ' - ' || machine from v$session where sid=a.sid) blocker,
a.sid || ', ' ||
(select serial# from v$session where sid=a.sid) sid_serial,
' is blocking ',
(select username || ' - ' || osuser || ' - ' || machine from v$session where sid=b.sid) blockee,
b.sid || ', ' ||
(select serial# from v$session where sid=b.sid) sid_serial
from v$lock a, v$lock b
where a.block = 1
and b.request > 0
and a.id1 = b.id1
and a.id2 = b.id2;