Hibernate中session的save方法問題


今天在使用session.save(),進行插入數據操作時,一直沒有成功,也沒有報錯。后來發現是因為沒有創建事務,提交事務的原因

你對flush和commit的意思沒有理解到:
1,flush代表刷新,同步一級緩存中的對象到數據庫中,僅僅代表把SQL刷到了數據庫中,
2,commit代表提交事務,tx.commit之后,之前發送的SQL才真正提交了,數據表里面才有值;
3,在默認情況下,commit之前都要自動調用flush,
所以:
1,session.save();session.flush()只是把SQL發到了數據庫中,事務沒有提交,數據表中還是沒有數據的,
2,session.save(),transaction.commit(),在commit的之前,隱含調用了flush,即發送了SQL,又提交了事務,所以有值;



免責聲明!

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



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