91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么直接使用Hibernate

發布時間:2021-11-03 14:06:14 來源:億速云 閱讀:163 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“怎么直接使用Hibernate”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“怎么直接使用Hibernate”這篇文章吧。

在直接使用Hibernate時,要在事務結束的時候,寫上一句:tx.commit(),這個commit()的源碼為:

public void commit() throws HibernateException {  if (!begun) {  throw new TransactionException("Transaction not successfully started");  }   log.debug("commit");   if (!transactionContext.isFlushModeNever() && callback) {  transactionContext.managedFlush(); // if an exception occurs during  // flush, user must call  // rollback()  }   notifyLocalSynchsBeforeTransactionCompletion();  if (callback) {  jdbcContext.beforeTransactionCompletion(this);  }   try {  commitAndResetAutoCommit();//重點代碼,它的作用是提交事務,并把connection的autocommit屬性恢復為true  log.debug("committed JDBC Connection");  committed = true;  if (callback) {  jdbcContext.afterTransactionCompletion(true, this);  }  notifyLocalSynchsAfterTransactionCompletion(Status.STATUS_COMMITTED);  } catch (SQLException e) {  log.error("JDBC commit failed", e);  commitFailed = true;  if (callback) {  jdbcContext.afterTransactionCompletion(false, this);  }  notifyLocalSynchsAfterTransactionCompletion(Status.STATUS_UNKNOWN);  throw new TransactionException("JDBC commit failed", e);  } finally {  closeIfRequired();  }  }

上面代碼中,commitAndResetAutoCommit()方法的源碼如下:

private void commitAndResetAutoCommit() throws SQLException {  try {  jdbcContext.connection().commit();  //這段不用說也能理解了  } finally {  toggleAutoCommit();  //這段的作用是恢復connection的autocommit屬性為true  }  }

上述代碼的toggleAutoCommit()源代碼如下:

private void toggleAutoCommit() {  try {  if (toggleAutoCommit) {  log.debug("re-enabling autocommit");  jdbcContext.connection().setAutoCommit(true);  //這行代碼的意義很明白了吧  }  } catch (Exception sqle) {  log.error("Could not toggle autocommit", sqle);  }  }

因此,如果你是直接使用Hibernate,并手動管理它的session,并手動開啟事務關閉事務的話,完全可以保證你的事務(好像完全是廢話)。

以上是“怎么直接使用Hibernate”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

肥乡县| 永年县| 班戈县| 南康市| 商南县| 古蔺县| 西平县| 崇义县| 临城县| 涞源县| 成都市| 南丰县| 元朗区| 太仓市| 蒲江县| 吴忠市| 石城县| 伊宁县| 临漳县| 富裕县| 龙南县| 卫辉市| 晋城| 承德县| 泰来县| 抚州市| 亳州市| 娄底市| 汨罗市| 郎溪县| 青阳县| 秦皇岛市| 永康市| 林甸县| 正定县| 灵台县| 彭州市| 杭锦旗| 油尖旺区| 大余县| 左贡县|