全國(guó)咨詢(xún)/投訴熱線(xiàn):400-618-4000

首頁(yè)常見(jiàn)問(wèn)題正文

Hibernate框架入門(mén):事務(wù)管理接口Transaction

更新時(shí)間:2024-01-25 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

  Transaction接口主要用于管理事務(wù),它是Hibernate的數(shù)據(jù)庫(kù)事務(wù)接口,且對(duì)底層的事務(wù)接口進(jìn)行了封裝。Transaction接口的實(shí)例對(duì)象是通過(guò)Session對(duì)象開(kāi)啟的,其開(kāi)啟方式如下所示:

tTransaction transaction=session.beginTransaction();

  在Transaction接口中,提供了事務(wù)管理的常用方法,具體如下。

  ·commit()方法:提交相關(guān)聯(lián)的session實(shí)例。

  ·rollback()方法:撤銷(xiāo)事務(wù)操作。

  ·wasCommitted()方法:檢查事務(wù)是否提交。

  當(dāng)應(yīng)用程序執(zhí)行完持久化操作后,需要調(diào)用commit()方法提交事務(wù),或者調(diào)用rollback()方法回滾事務(wù)(取消事務(wù)),可以通過(guò)以下代碼加以理解:

try {
     transaction=session.beginTrsaction();               //開(kāi)啟事務(wù)
     session.save(user);                                 //執(zhí)行操作
     transaction.commit();                               //提交事務(wù)
}catch(Exception e) {
   transaction.rollback();                               //回滾事務(wù)
}finally {
   session.close();                                      //關(guān)閉資源
}

  從上述代碼中可以看出,Session執(zhí)行完保存操作后,使用了Transaction接口的commit()方法進(jìn)行事務(wù)提交。只有事務(wù)執(zhí)行提交后,才能真正地將數(shù)據(jù)操作同步到數(shù)據(jù)庫(kù)中。在發(fā)生異常時(shí),需要使用rollback()方法進(jìn)行事務(wù)回滾,以避免數(shù)據(jù)發(fā)生錯(cuò)誤。

  本文版權(quán)歸黑馬程序員Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!

  作者:黑馬程序員Java培訓(xùn)學(xué)院

  首發(fā):https://java.itheima.com

分享到:
在線(xiàn)咨詢(xún) 我要報(bào)名
和我們?cè)诰€(xiàn)交談!