hibernate兩種獲取session方法的區別

2021-07-24 19:49:17 字數 603 閱讀 7750

在hibernate中有兩種方法獲得session

opensession()

getcurrentsession()

如果使用的getcurrentsession()方法  就要在hibernate.cfg.xml檔案中進行配置

如果是本地事務(jdbc)

thread

如果是全域性事物(jta)

jta

兩種方法的區別

1.opensession()每次建立新的session物件,getcurrentsession()使用現有的session物件  (類似單例模式)

2.getcurrentsession在事務提交或者回滾之後會自動關閉,而opensession()需要手動關閉(session.close()),如果使用opensession()後未關閉,多次建立後會導致執行緒池溢位。

@test

public void testopensession()

@test

public void testgetcurrentsession()

Spring整合Hibernate的兩種方式

最後找到了問題,總結一下 1.spring整合hibernate,取代 hbm.xml配置檔案 class org.springframework.orm.hibernate5.localsessionfactorybean hbm.xml org.hibernate.dialect.mysqldi...

兩種獲取Oracle Sequence的方法

前提 create table booking id integer not null,date made date,reserved until timestamp,price decimal 15,2 not null,purchase id integer,primary key id cre...

爬蟲之兩種網頁獲取辦法

import requests 將引數字典進行編碼 from urllib import parse 攜帶引數的get請求,攜帶引數的第二種方式 base url 生成引數 qs 引數編碼 專門用來進行編碼,特別是有中文的 params parse.urlencode qs print params...