堅持每天寫博文,積累下開發中的點點滴滴
Configuration:用於拿到SessionFactory;
重要方法:addClass(domain.class):添加映射,一般不用
configure()用於實例化Configuration;
SessionFactory:
- 主要用於創建session.SessionFactory對象中保存了當前數據庫配置信息和所有映射關係及預定義的sql語句。同時還負責維護hibernate的二級緩存。
- 因爲採取了線程安全設計方式,SessionFactory對象的創建會有較大的開銷。所以在實際開發中應該儘量共享SessionFactory。在大多數情況下,一個應用中針對一個數據庫可以共享一個SessionFactory實例;
-使用預定義的sql語句提高性能:預定義hql或sql意爲在映射文件中預定義一句sql活hql,那麼hibernate每次在使用hql時只有第一次進行翻譯,放進緩存,以後再使用直接在緩存中調用,提高性能 - 重要方法
- openSession()開啓一個全新session. 全新的事務和一級緩存
- openCurrentSession()得到當前上下文的session
1.如果當前上下文中存在session,則使用此session
2.若不存在,則使用openSession創建一個session
3.使用openCurrentSession()需在配置文件中配置: