<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 11.2.3\. 異常處理 如果 `Session` 拋出異常 (包括任何`SQLException`), 你應該立即回滾數據庫事務,調用 `Session.close()` ,丟棄該 `Session`實例。`Session`的某些方法可能會導致session 處于不一致的狀態。所有由Hibernate拋出的異常都視為不可以恢復的。確保在 `finally` 代碼塊中調用`close()`方法,以關閉掉 `Session`。 `HibernateException`是一個非檢查期異常(這不同于Hibernate老的版本), 它封裝了Hibernate持久層可能出現的大多數錯誤。我們的觀點是,不應該強迫應用程序開發人員 在底層捕獲無法恢復的異常。在大多數軟件系統中,非檢查期異常和致命異常都是在相應方法調用 的堆棧的頂層被處理的(也就是說,在軟件上面的邏輯層),并且提供一個錯誤信息給應用軟件的用戶 (或者采取其他某些相應的操作)。請注意,Hibernate也有可能拋出其他并不屬于 `HibernateException`的非檢查期異常。這些異常同樣也是無法恢復的,應該 采取某些相應的操作去處理。 在和數據庫進行交互時,Hibernate把捕獲的`SQLException`封裝為Hibernate的 `JDBCException`。事實上,Hibernate嘗試把異常轉換為更有實際含義 的`JDBCException`異常的子類。底層的`SQLException`可以 通過`JDBCException.getCause()`來得到。Hibernate通過使用關聯到 `SessionFactory`上的`SQLExceptionConverter`來 把`SQLException`轉換為一個對應的`JDBCException` 異常的子類。默認情況下,`SQLExceptionConverter`可以通過配置dialect 選項指定;此外,也可以使用用戶自定義的實現類(參考javadocs `SQLExceptionConverterFactory`類來了解詳情)。標準的 `JDBCException`子類型是: * `JDBCConnectionException` - 指明底層的JDBC通訊出現錯誤 * `SQLGrammarException` - 指明發送的SQL語句的語法或者格式錯誤 * `ConstraintViolationException` - 指明某種類型的約束違例錯誤 * `LockAcquisitionException` - 指明了在執行請求操作時,獲取 所需的鎖級別時出現的錯誤。 * `GenericJDBCException` - 不屬于任何其他種類的原生異常
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看