首先说一下我为什么要学这个Nhibernate,现在在公司做项目后台的逻辑层都是用动软生成的简单三层,搞来搞去都是这些东西,代码冗余量很大,每个类方法基本上都一样,真是纯正的码农,虽然后来我也尝试使用抽象类、虚方法等来减少代码量(用这些才感觉是在编程,呵呵),但是这些写多了也没意思啊,于是就想找一个逻辑层的框架来减少体力劳动量,于是想公司的一个前辈来表达我这方法的苦恼(他现在是项目经理,不是跟我一个部门的),他提出来用ORM框架,ORM是啥东东?于是百度了一番(原谅我不喜欢用Google....谷歌搜英文不错,但是我学了那么多年的英语,考试从来靠懵啊....),一番结果下来之后我就记住了EF和Nhibernate,之前学MVC,看教程是使用EF框架的,当时挺反感的,觉得太麻烦,不如写三层方便......简单的又看了写EF的介绍,可以说基础是LINQ吧。。。但是我不会LINQ,所以就打算学Nhibernate了。。。。

刚学几天,先说一下学的感受,第一是网上的资料太少,有些问题根本搜不出来解决方法,谁让咱用的是GA3.3.3呢,可能版本太高了,低版本的跟这个版本的不一样,无从下手,花费了一番心血,找到了几篇博客,于是就开始入门!

参考:http://blog.csdn.net/jiajiayouba/article/details/9877875

按照方法一步一步来,这个配置映射类就可以生成表的功能很让我兴奋,但是按照上面的方法确确生成不了表,网上说,cfg.ClassMappings.Count=  1就表示映射成功,但是我这边一直输出0,也不报错,搞不清哪里的问题,真心蛋碎一地,搞了几天不知所措

文笔不好,直接上解决方法了,

原先我的映射名为:Student.dbm.xml ,原来后面的结尾格式必须为**.hbm.xml,我嘞个擦,这么坑爹,虽然我是左撇子,但也要为自己的智商默哀。。。。

这里做一下小小的总结:

Nhibernate的配置文件hibernate.cfg.xml 属性中的“复制到输出目录”必须改为:“始终复制”

hibernate.cfg.xml文件中</session-factory>上面必须加入:<mapping assembly="Domain"/>(官方包中的模板文件中没有加这一行),可以理解为指定映射类的程序集名称吧?

实体类的get、set方法需要指明为虚方法: public virtual int ID { get; set; }

实体类的映射文件Student.hbm.xml格式为**.hbm.xml,否则就是我上面的说的那种问题了,并且这个xml的属性"生成操作"改为:“嵌入的资源”

hibernate.cfg.xml 和******.hbm.xml文件中的assembly=“”内容要一直,*****.hbm.xml中的namespace属性指定对应的实体类所在的命名空间

菜鸟学Nhibernate 之路---(1)的更多相关文章

  1. 菜鸟学自动化测试(八)----selenium 2.0环境搭建(基于maven)

    菜鸟学自动化测试(八)----selenium 2.0环境搭建(基于maven) 2012-02-04 13:11 by 虫师, 11419 阅读, 5 评论, 收藏, 编辑 之前我就讲过一种方试来搭 ...

  2. JVM菜鸟进阶高手之路十(基础知识开场白)

    转载请注明原创出处,谢谢! 最近没有什么实战,准备把JVM知识梳理一遍,先以开发人员的交流来谈谈jvm这块的知识以及重要性,依稀记得2.3年前用solr的时候老是经常oom,提到oom大家应该都不陌生 ...

  3. JVM菜鸟进阶高手之路十三(等你来战!!!)

    转载请注明原创出处,谢谢! 前几天有个朋友问了我个问题,下面给大家分享下,希望大家积极在评论区进行评论留言,等你来战!!! 先来个趣味题,热身下,引出后面的jvm题目. 地上的影子是那个人的? 地上的 ...

  4. JVM菜鸟进阶高手之路十四:分析篇

    转载请注明原创出处,谢谢! 题目回顾 JVM菜鸟进阶高手之路十三,问题现象就是相同的代码,jvm参数不一样,表现的现象不一样. private static final int _1MB = 1024 ...

  5. 菜鸟学IT之四则运算升级版

     菜鸟学IT之四则运算升级版 本次作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2213 团队代码github远程仓库的 ...

  6. 菜鸟学Java(十五)——Java反射机制(二)

    上一篇博文<菜鸟学编程(九)——Java反射机制(一)>里面,向大家介绍了什么是Java的反射机制,以及Java的反射机制有什么用.上一篇比较偏重理论,理论的东西给人讲出来总感觉虚无缥缈, ...

  7. 菜鸟学Java(十四)——Java反射机制(一)

    说到反射,相信有过编程经验的人都不会陌生.反射机制让Java变得更加的灵活.反射机制在Java的众多特性中是非常重要的一个.下面就让我们一点一点了解它是怎么一回事. 什么是反射 在运行状态中,对于任意 ...

  8. 大家一起来学 NHibernate+NUnit (VS2012+SQL Server2008)

    大家一起来学 NHibernate+NUnit (VS2012+SQL Server2008) 分类: C#2013-08-10 18:47 1589人阅读 评论(5) 收藏 举报 NHibernat ...

  9. JVM菜鸟进阶高手之路一[z]

    https://mp.weixin.qq.com/s/qD1LFmsOiqZHD8iZX97OfA? 问题现象 代码如下,使用 ParNew + Serial Old 回收器组合与使用 ParNew ...

随机推荐

  1. Arduino 看门狗使用

    1.需要调用 #include <avr/wdt.h> 2.设置看门狗复位时间 wdt_enable(WDTO_2S); 代码时间定义的底层查看 #define WDTO_15MS 0 / ...

  2. Django模型系统——ORM校园管理系统代码

    1.models.py from django.db import models # Create your models here. class Class(models.Model): id = ...

  3. ubuntu下使用free命令查看内存实际占用(待补充)

    free不带选项运行会显示一个以kb为单位的默认输出 free -h人类能看懂的方式显示 free -m MB的方式显示 free -g GB方式显示 used=total-free即total=us ...

  4. Ubuntu安装SSH + Windows上配置Putty

    1. Ubuntu安装SSH 命令: # sudo apt-get install openssh-server 2. 启动SSH Server 命令: # sudo /etc/init.d/ssh ...

  5. oss2模块和aliyun oss链接

    安装oss pip install oss2 首先已经理解OSS 基本概念,如Bucket.Object.Endpoint.AccessKeyId和AccessKeySecret等. 下面介绍如何使用 ...

  6. 3.30课·········Marquee标签

    页面的自动滚动效果,可由javascript来实现, 但是有一个html标签 - <marquee></marquee>可以实现多种滚动效果,无需js控制. 使用marquee ...

  7. SQL语法结构

    目录 一.增 1.增加字段 2.新建约束 二.删 1.删除字段 2.删除约束 三.改 1.修改字段 一.增 1.增加字段: ALTER TABLE [表名] ADD [字段名] NVARCHAR () ...

  8. SDUT 1048 Digital Roots

    Digital Roots Time Limit: 1000ms   Memory limit: 65536K 题目描述 The digital root of a positive integer ...

  9. 仿联想商城laravel实战---5、无刷新的增删改查(动态页面更新的三种方式(html))

    仿联想商城laravel实战---5.无刷新的增删改查(动态页面更新的三种方式(html)) 一.总结 一句话总结: 直接js增加删除修改html 控制器直接返回处理好的页面 用双向绑定插件比如vue ...

  10. js文件报错Syntax error on token "Invalid Regular Expression Options", no accurate correction

    Syntax error on token "Invalid Regular Expression Options", no accurate correction 1.选中报错的 ...