Nhiberate 学习 (二) 搭建环境出现的问题

来源:互联网 发布:android权威指南 源码 编辑:程序博客网 时间:2024/05/21 10:59

搭建环境出现的问题。

1、按照三层构架,搭建数据库访问层。发现无法找到hibernate.cfg.xml配置文件,我看了一下,我把hibernate.cfg.xml放在了测试类下面,应该是路径的问题。我就改成绝对路径了,后期如果要web发布的话,再看看怎么弄。

 Configuration cfg = new NHibernate.Cfg.Configuration().Configure("D:\\Documents\\Visual Studio 2010\\Projects\\BaseDll\\Org\\Controller\\hibernate.cfg.xml");

2、hibernate.cfg.xml配置属性问题,我用的Nhiberate 2.0版本的教程,使用的Nhiberate 4.0的类库,在Nhiberate 2.2之后 Nhiberate 2.0 NHibernate.ByteCode.LinFu这个属性取消了。所以还是要参照Nhiberate 4.0的文档进行配置。

3、Dialect属性出错,我使用的是oracle11g,错误显示没有OracleDialect,我查了一下对象浏览器,如下图。改成Oracle10gDialect就可以了。

4、配置文件OK了,开始找不到类和映射文件了。要在配置里面,加上使用的程序集配置   。特别注意的是,类名称与映射文件中的类名称要一直,区分大小写的哦。

<mapping assembly="Entity"></mapping>

5、使用TestDrive来进行测试,选择需要执行的方法,右击Test或者Test with debugger就可以了.

6、要使用Restrictions对象的时候,要引用using NHibernate.Criterion;用法可以参考http://blog.csdn.net/cuiran/article/details/6324083

 ICriteria _crit=session.CreateCriteria(typeof(User));                for(int i=0;i<fileds.Length;i++)                _crit.Add(Restrictions.Eq(fileds[i],values[i]));                IList<User> obj = _crit.List<User>();                return obj;


0 0