【mybatis】mybatis執行一個update方法,返回值為1,但是數據庫中數據並未更新,粘貼sql語句直接在數據庫執行,等待好久報錯:Lock wait timeout exceeded; try restarting transaction


今天使用mybatis和jpa的過程中,發現這樣一個問題:

mybatis執行一個update方法,返回值為1,但是數據庫中數據並未更新,粘貼sql語句直接在數據庫執行,等待好久報錯:Lock wait timeout exceeded; try restarting transaction

 

最后發現:

1.實體在前面 是使用JPA查詢得出的

2.在后面update的時候,是使用mybatis去做update的

 

這就導致了前面的鎖還沒有釋放,后面update的時候 就在等待鎖的釋放。

雖然mybatis執行update返回了1 但是並沒有執行成功!!!

 

注意  JPA和mybatis的事務 不一樣,如果涉及到事務 一定要將對數據庫的操作控制在同一個事務中!!!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM