Hibernate SessionFactory實(shí)例
在向大家詳細(xì)介紹Hibernate之前,首先讓大家了解下Hibernate SessionFactory實(shí)例,以后全面介紹Hibernate。
SessionFactory (org.hibernate.SessionFactory)包含已經(jīng)編譯的映射(mappings),是制造session的工廠,可能含有一些可以在各個(gè)事務(wù)(transaction)之間共享的數(shù)據(jù)
(1) SessionFactory的緩存
可分為兩類:內(nèi)置緩存和外置緩存。SessionFactory的內(nèi)置緩存中存放了Hibernate配置信息和映射元數(shù)據(jù)信息、同時(shí)也緩存了Hibernate自動(dòng)生成的SQL語(yǔ)句等;SessionFactory的外置緩存是一個(gè)可配置的緩存插件,在默認(rèn)情況下,SessionFactory不會(huì)啟用這個(gè)緩存插件。外置緩存
能存放大量數(shù)據(jù)庫(kù)數(shù)據(jù)的拷貝,外置緩存的物理介質(zhì)可以是內(nèi)存或者硬盤(pán)。
(2) 只有一個(gè)數(shù)據(jù)存儲(chǔ)源,只需創(chuàng)建一個(gè)SessionFactory。SessionFactory就是個(gè)重量級(jí)對(duì)象,如果應(yīng)用只有一個(gè)數(shù)據(jù)存儲(chǔ)源,只需創(chuàng)建一個(gè)Hibernate SessionFactory實(shí)例,因?yàn)殡S意地創(chuàng)建Hibernate SessionFactory實(shí)例會(huì)占用大量?jī)?nèi)存空間。但是當(dāng)你的項(xiàng)目要操作多個(gè)數(shù)據(jù)庫(kù)時(shí),那你必須為每個(gè)數(shù)據(jù)庫(kù)指定一個(gè)SessionFactory。
(3) Configuration的其他用法
Configuration的configure ()方法還支持帶參數(shù)的訪問(wèn)方式,你可以指定hbm.xml文件的位置,而不是使用默認(rèn)的classpath
下面的hibernate.cfg.xml這種方式,例如:
- Configuration cfg = new Configuration().configure("myexample.xml");
 
【編輯推薦】















 
 
 
 
 
 
 