鍍金池/ 問(wèn)答/Java  數(shù)據(jù)庫(kù)/ Spring事務(wù)和Mysql事務(wù)

Spring事務(wù)和Mysql事務(wù)

1.背景:
mysql事務(wù)隔離級(jí)別為READ_COMMITTED;數(shù)據(jù)保存使用原生hibernate;查詢使用JdpcTempLate;

2.主要問(wèn)題:

hibernate并沒(méi)有提交事務(wù),JDBC是直聯(lián)數(shù)據(jù)庫(kù)的,此時(shí)數(shù)據(jù)庫(kù)沒(méi)有值,不應(yīng)該查到相關(guān)記錄。并且,我們?cè)诓樵兊姆椒ㄉ?,新增了事?wù)為Not_suppport;將原存在的事務(wù)掛起;但是事實(shí)還是查到了數(shù)據(jù)

3.代碼:

clipboard.png
3.1.其中保存用的是hibernate原生的保存:

clipboard.png
3.2.查詢使用JDBC的查詢(本人不希望查到新保存的數(shù)據(jù))

clipboard.png
3.3Jdbc(雖然此時(shí)查詢數(shù)據(jù)庫(kù)沒(méi)有值,但是在jdbc中確實(shí)查到了上一步保存的數(shù)據(jù))

clipboard.png
求助原因。

回答
編輯回答
假灑脫

你是當(dāng)前執(zhí)行commit的線程查詢,當(dāng)然能查到。換成mysql client再試一下,就查不到了。

2017年6月26日 08:52