Hibernate原始碼中幾個包的作用簡要介紹

2021-04-14 01:44:04 字數 1772 閱讀 6860

net.sf.hibernate.* 

該包的類基本上都是介面類和異常類 

net.sf.hibernate.cache.* 

jcs的實現類 

net.sf.hibernate.cfg.* 

配置檔案讀取類 

net.sf.hibernate.collection.* 

hibernate集合介面實現類,例如list,set,bag等等,hibernate之所以要自行編寫集合介面實現類是為了支援lazy loading 

net.sf.hibernate.connection.* 

幾個資料庫連線池的provider 

net.sf.hibernate.dialect.* 

支援多種資料庫特性,每個dialect實現類代表一種資料庫,描述了該資料庫支援的資料型別和其它特點,例如是否有autoincrement,是否有sequence,是否有分頁sql等等 

net.sf.hibernate.eg.* 

hibernate文件中用到的例子 

net.sf.hibernate.engine.* 

這個包的類作用比較散 

net.sf.hibernate.expression.* 

hql支援的表示式 

net.sf.hibernate.hq.* 

hql實現 

net.sf.hibernate.id.* 

id生成器 

net.sf.hibernate.impl.* 

最核心的包,一些重要介面的實現類,如果session,sessionfactory,query等 

net.sf.hibernate.jca.* 

jca支援,把session包裝為支援jca的介面實現類 

net.sf.hibernate.jmx.* 

net.sf.hibernate.loader.* 

也是很核心的包,主要是生成sql語句的 

net.sf.hibernate.lob.* 

blob和clob支援 

hbm檔案的屬性實現 

net.sf.hibernate.metadata.* 

po的meta實現 

net.sf.hibernate.odmg.* 

odmg是乙個orm標準,這個包是odmg標準的實現類 

net.sf.hibernate.persister.* 

核心包,實現持久物件和表之間的對映 

net.sf.hibernate.proxy.* 

proxy和lazy loading支援 

net.sf.hibernate.ps.* 

該包是preparedstatment cache 

net.sf.hibernate.sql.* 

生成jdbc sql語句的包 

net.sf.hibernate.test.* 

測試類,你可以用junit來測試hibernate 

net.sf.hibernate.tool.hbm2ddl.* 

用hbm配置檔案生成ddl 

net.sf.hibernate.transaction.* 

hibernate transaction實現類 

net.sf.hibernate.type.* 

hibernate中定義的持久物件的屬性的資料型別 

net.sf.hibernate.util.* 

一些工具類,作用比較散 

net.sf.hibernate.xml.* 

xml資料繫結  

hibernate 原始碼分析

settingfactory類 設定屬性類。其中有buildsettings properties properties 方法,設定自定義屬性。設定類和表之間的對映。class 進去,table出來。了解不清晰。binding類 po和資料庫中表及其之間的對映的繫結。configuration類,配...

Hibernate原始碼分析雜記

最近在看hibernate在load entity過程中的操作,包括為實體類做增強,自動flush,一級快取,在這裡記錄一下,慢慢會繼續更新。defaultloadeventlistener final persistencecontext persistencecontext event.gets...

Hibernate原始碼解讀 查詢

本文主要通過原始碼,概述一下session的查詢過程。主要api有get load。他們基本過程是類似的 以get為例 session public object get string entityname,serializable id throws hibernateexception 呼叫se...