瘋狂

          STANDING ON THE SHOULDERS OF GIANTS
          posts - 481, comments - 486, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
          hibernate默認情況:
          <property name="connection.release_mode">auto</property>--釋放jdbc resources 方式 如果不配置默認是auto (當然現在沒有auto了,等同于"after_statement" or "after_transaction"),注意3.0以及之前默認是ON_CLOSE(也就是session關閉才釋放jdbc鏈接)
          <property name="transaction.auto_close_session">false</property>--自動關閉session
          <property name="connection.autocommit">false</property>--自動提交
          release_mode的設置見于:http://www.aygfsteel.com/freeman1984/archive/2011/07/27/355110.html
          1 首先connection.autocommit配置成false的情況:
               此種情況需要手動開啟事務,需要手動開啟transaction,以及提交transaction,并且此時transaction.auto_close_session配置的配置將自動設置為false,所以此時如果connection.release_mode配置為on_close()時需要手動關閉session才能釋放JDBC 連接,日志會提示:
           transaction completed on session with on_close connection release mode; be sure to close the session to release JDBC resources!
          因此connection.autocommit為false的情況建議connection.release_mode采取默認auto。

          2 connection.autocommit為true的情況,此時不需要手動開啟transaction以及提交transaction,hibernate自動開始transaction并在每次操作后提交transaction,設置此   時transaction.auto_close_session設置將自動為false。 如果connection.release_mode配置為on_close()是需要手動關閉session才能釋放JDBC 連接.建議此種情況connection.release_mode設置默認auto。

          3 connection.autocommit為true的情況,如果此時又手動開啟了transaction,此時connection.autocommit將被設置為false(disabling autocommit),需要手動提交transaction,此種情況如同第一種情況。
           
          有問題請補充。tks
          主站蜘蛛池模板: 左云县| 长兴县| 闻喜县| 日照市| 泰宁县| 怀远县| 安福县| 平顶山市| 荃湾区| 凤冈县| 双流县| 襄樊市| 丹寨县| 舟山市| 乡城县| 黎城县| 巩义市| 区。| 大庆市| 南丹县| 广东省| 孟津县| 延吉市| 平度市| 静乐县| 调兵山市| 建始县| 江安县| 称多县| 阿坝县| 东明县| 林口县| 新晃| 旺苍县| 广丰县| 三都| 广饶县| 凌源市| 广宗县| 灵宝市| 潜江市|