我爱Aspx >> VB.Net >> nhibernate源码分析之二:会话工厂nhibernate源码分析之二:会话工厂
是NHibernate中的关键类,它与数据库连接、数据库事务等进行交互,还存储着与所有持久对象关联的持久化对象,持久化类是持久化的关键,它实现基本的CRUD操作。
当用户需要持久操作时,由会话工厂创建一个会话供用户进行持久操作。
1. 会话工厂的创建
会话工厂由ISessionFactory接口实现,由Configuration的BuildSessionFactory方法创建,会话工厂应该使用Singleton模式。
如果要访问多个数据库,应建立多个会话工厂。
//*** Configuration.cs ***
public ISessionFactory BuildSessionFactory() {
// ...
Hashtable copy = new Hashtable();
foreach(DictionaryEntry de in properties) {
copy.Add(de.Key, de.Value);
}
return new SessionFactoryImpl(this, copy, interceptor);
}
其中SessionFactoryImpl为实现ISessionFactory的类,这个类的修饰为Internal。
2. 持久化类的创建
持久化类用于对持久对象进行持久化操作,每一个持久对象都有一个与之关联的持久化对象。
持久化类继承自IClassPersister接口,这个接口定义了用于持久对象的CRUD操作。
//*** SessionFactoryImpl ***
private IDictionary classPersisters;
持久化对象集合,Key为持久对象的类型;
【我对这篇文章有话说?】
VB调用webbrowser技巧集2[05-20]
vb调用Webbrowser技巧集3[05-20]
.net 如何在web.config中读取自定..[05-20]
使用VB创建ASP服务器端组件[05-20]
Visual Basic .NET中多 Windows ..[05-20]
VB调用webbrowser技巧集4[05-20]
关于用VB做更漂亮的窗体的思考[05-20]
VB6中改变屏幕的分辨率和刷新频率..[05-20]
VB中访问存储过程的几种办法[05-20]
用VB对磁盘的物理扇区数据读/写操..[05-20]