從圖中可以看到,Session和SessionFactory是NHibernate的核心部分。
SessionFactory維護到持久機制(數據庫)的連接並對它們進行管理,同時還保存着所有持久對象的映射信息。
SessionFactory由Configuration.BuildSessionFactory創建,這個對象一般使用Singleton模式。
Session用於將對象持久化,支持數據庫事務,另外Session還提供了強大的數據加載功能。
Session由SessionFactory創建。
其它對象說明:
IConnectionProvider: 連接提供者接口,負責與數據進行連接;
Dialect: 數據庫方言;
CollectionPersister: 集合持久化類;
IClassPersister: 類持久化接口,定義了基本的CRUD操作;
TransactionFactory: 數據庫事務工廠;
IInterceptor: 攔截器接口,用於在操作執行時進行一些處理,典型的就是記錄操作日誌