session詳解

如何獲得session對象?

1)openSession

2)getCurrentSession

如果使用getCurrentSession需要在hibernate.cfg.xml文件中進行配置

如果是本地事務(jdbc事務):

<property name="hibernate.current_session_context_class">thread</property>

如果是全局事務(jta事務):
<property name="hibernate.current_session_context_class">jta</property>

全局事務:資源管理器管理和協(xié)調(diào)的事務,可以跨越多個數(shù)據(jù)庫和進程。資源管理器一般使用 XA 二階段提交協(xié)議與“企業(yè)信息系統(tǒng)”(EIS) 或數(shù)據(jù)庫進行交互。
本地事務:在單個 EIS 或數(shù)據(jù)庫的本地并且限制在單個進程內(nèi)的事務。本地事務不涉及多個數(shù)據(jù)來源。

(1)getCurrentSession在事務提交或者回滾之后會自動關(guān)閉,而openSesssion需要你手動關(guān)閉。
如果使用openSession而沒有手動關(guān)閉,多次之后會導致連接池溢出!
(2)openSession每次創(chuàng)建新的session對象,
getCurrentSession使用現(xiàn)有的session對象(現(xiàn)有session沒commit之前)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • session詳解 獲得session對象的方法1.openSession2.getCurrentSession ...
    戴宏鵬閱讀 264評論 0 1
  • Cookie與Session詳解讀書筆記,從概念、操作、應用、注意事項以及區(qū)別等幾方面詳細闡述兩者的基礎知識,它們...
    奮斗live閱讀 1,127評論 0 2
  • Web服務器跟蹤客戶狀態(tài)通常有四種方法:建立含有跟蹤數(shù)據(jù)的隱藏字段;重寫包含額外參數(shù)的url;使用持續(xù)的cooki...
    exmexm閱讀 2,039評論 0 0
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,256評論 6 342
  • 本文是戰(zhàn)隼老師在喜馬拉雅FM的《戰(zhàn)隼:無需意思志力的習慣養(yǎng)成法-100天行動》的筆記。如需要原文,請收聽節(jié)目。如有...
    西西西西力閱讀 328評論 0 2

友情鏈接更多精彩內(nèi)容