从图中可以看到,Session和SessionFactory是NHibernate的核心部分。
SessionFactory维护到持久机制(数据库)的连接并对它们进行管理,同时还保存着所有持久对象的映射信息。
SessionFactory由Configuration.BuildSessionFactory创建,这个对象一般使用Singleton模式。
Session用于将对象持久化,支持数据库事务,另外Session还提供了强大的数据加载功能。
Session由SessionFactory创建。
其它对象说明:
IConnectionProvider: 连接提供者接口,负责与数据进行连接;
Dialect: 数据库方言;
CollectionPersister: 集合持久化类;
IClassPersister: 类持久化接口,定义了基本的CRUD操作;
TransactionFactory: 数据库事务工厂;
IInterceptor: 拦截器接口,用于在操作执行时进行一些处理,典型的就是记录操作日志;