<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 11.5\. 連接釋放模式(Connection Release Modes) Hibernate關于JDBC連接管理的舊(2.x)行為是,`Session`在第一次需要的時候獲取一個連接,在session關閉之前一直會持有這個連接。Hibernate引入了連接釋放的概念,來告訴session如何處理它的JDBC連接。注意,下面的討論只適用于采用配置`ConnectionProvider`來提供連接的情況,用戶自己提供的連接與這里的討論無關。通過`org.hibernate.ConnectionReleaseMode`的不同枚舉值來使用不用的釋放模式: * `ON_CLOSE` - 基本上就是上面提到的老式行為。Hibernate session在第一次需要進行JDBC操作的時候獲取連接,然后持有它,直到session關閉。 * `AFTER_TRANSACTION` - 在`org.hibernate.Transaction`結束后釋放連接。 * `AFTER_STATEMENT` (也被稱做積極釋放) - 在每一條語句被執行后就釋放連接。但假若語句留下了與session相關的資源,那就不會被釋放。目前唯一的這種情形就是使用`org.hibernate.ScrollableResults`。 `hibernate.connection.release_mode`配置參數用來指定使用哪一種釋放模式。可能的值有: * `auto`(默認) - 這一選擇把釋放模式委派給`org.hibernate.transaction.TransactionFactory.getDefaultReleaseMode()`方法。對JTATransactionFactory來說,它會返回ConnectionReleaseMode.AFTER_STATEMENT;對JDBCTransactionFactory來說,則是ConnectionReleaseMode.AFTER_TRANSACTION。很少需要修改這一默認行為,因為假若設置不當,就會帶來bug,或者給用戶代碼帶來誤導。 * `on_close` - 使用 ConnectionReleaseMode.ON_CLOSE. 這種方式是為了向下兼容的,但是已經完全不被鼓勵使用了。 * `after_transaction` - 使用ConnectionReleaseMode.AFTER_TRANSACTION。這一設置不應該在JTA環境下使用。也要注意,使用ConnectionReleaseMode.AFTER_TRANSACTION的時候,假若session 處于auto-commit狀態,連接會像AFTER_STATEMENT那樣被釋放。 * `after_statement` - 使用ConnectionReleaseMode.AFTER_STATEMENT。除此之外,會查詢配置的`ConnectionProvider`,是否它支持這一設置((`supportsAggressiveRelease()`))。假若不支持,釋放模式會被設置為ConnectionReleaseMode.AFTER_TRANSACTION。只有在你每次調用`ConnectionProvider.getConnection()`獲取底層JDBC連接的時候,都可以確信獲得同一個連接的時候,這一設置才是安全的;或者在auto-commit環境中,你可以不管是否每次都獲得同一個連接的時候,這才是安全的。
                  <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>

                              哎呀哎呀视频在线观看