hibernate學習之 session的產生方式

2021-09-01 21:45:46 字數 1078 閱讀 5856

1、session的重要性:

學習hibernate的session之前,首先要了解它的重要性,如下。

1.1hibernate中的crud操作是利用session來完成的

1.2hibernate中的事務是依賴於session環境的

2.session的產生方式:

2.1.通過sessionfactory.opensession();方法獲得

private static sessionfactory sessionfactory;

static

private void testopensession(string name)

注:採用該方式,每次都會通過new建立新的session物件,hibernate都會開啟應用程式和資料庫的連線,所以這種方式效率比較低。

2.2.通過sessionfactory.getcurrentsession();方法獲得

private static sessionfactory sessionfactory;

static

private void testgetsession(string name)

注:如果當前執行緒中沒有session,先opensession,然後把session存放到當前執行緒中,從當前執行緒中得到session。因此這種方式效率相對較高。

注意:該方式獲取session時,crud操作必須有事務環境,且不用手動去close掉

2.3通過hibernate提供的幫助類中的getsession()方法直接獲得

private void testsession(string name)
注意:該方式獲取session時,crud操作必須有事務環境,且不用手動去close掉

Hibernate學習筆記之EHCache的配置

hibernate預設二級快取是不啟動的,啟動二級快取 以ehcache為例 需要以下步驟 ehcache.jar和commons logging.jar,如果hibernate.jar中含有ehcache就不用新增ehcache.jar,commons logging.jar是用來實現ehcach...

Java學習之hibernate(二)

自動生成表結構 etc hibernate.properties update 常用 自動生成表結構 如果對映檔案和資料庫表字段不對應 將會修改表的字段 但是原來表的字段不會改變 會新增字段 create 每次執行都會建立乙個新的表 資料丟失 create drop 每次執行都會建立乙個新的表,並且...

今日學習之Hibernate 二

1.問題 org.hibernate.exception.genericjdbcexception could not execute jdbc batch update at org.hibernate.解決辦法 設定對應方言,把下圖修改為org.hibernate.dialect.mysql5d...