菜鸟学Nhibernate 之路---(1)
首先说一下我为什么要学这个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)的更多相关文章
- 菜鸟学自动化测试(八)----selenium 2.0环境搭建(基于maven)
菜鸟学自动化测试(八)----selenium 2.0环境搭建(基于maven) 2012-02-04 13:11 by 虫师, 11419 阅读, 5 评论, 收藏, 编辑 之前我就讲过一种方试来搭 ...
- JVM菜鸟进阶高手之路十(基础知识开场白)
转载请注明原创出处,谢谢! 最近没有什么实战,准备把JVM知识梳理一遍,先以开发人员的交流来谈谈jvm这块的知识以及重要性,依稀记得2.3年前用solr的时候老是经常oom,提到oom大家应该都不陌生 ...
- JVM菜鸟进阶高手之路十三(等你来战!!!)
转载请注明原创出处,谢谢! 前几天有个朋友问了我个问题,下面给大家分享下,希望大家积极在评论区进行评论留言,等你来战!!! 先来个趣味题,热身下,引出后面的jvm题目. 地上的影子是那个人的? 地上的 ...
- JVM菜鸟进阶高手之路十四:分析篇
转载请注明原创出处,谢谢! 题目回顾 JVM菜鸟进阶高手之路十三,问题现象就是相同的代码,jvm参数不一样,表现的现象不一样. private static final int _1MB = 1024 ...
- 菜鸟学IT之四则运算升级版
菜鸟学IT之四则运算升级版 本次作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2213 团队代码github远程仓库的 ...
- 菜鸟学Java(十五)——Java反射机制(二)
上一篇博文<菜鸟学编程(九)——Java反射机制(一)>里面,向大家介绍了什么是Java的反射机制,以及Java的反射机制有什么用.上一篇比较偏重理论,理论的东西给人讲出来总感觉虚无缥缈, ...
- 菜鸟学Java(十四)——Java反射机制(一)
说到反射,相信有过编程经验的人都不会陌生.反射机制让Java变得更加的灵活.反射机制在Java的众多特性中是非常重要的一个.下面就让我们一点一点了解它是怎么一回事. 什么是反射 在运行状态中,对于任意 ...
- 大家一起来学 NHibernate+NUnit (VS2012+SQL Server2008)
大家一起来学 NHibernate+NUnit (VS2012+SQL Server2008) 分类: C#2013-08-10 18:47 1589人阅读 评论(5) 收藏 举报 NHibernat ...
- JVM菜鸟进阶高手之路一[z]
https://mp.weixin.qq.com/s/qD1LFmsOiqZHD8iZX97OfA? 问题现象 代码如下,使用 ParNew + Serial Old 回收器组合与使用 ParNew ...
随机推荐
- Java 线程的终止-interrupt
Java线程的终止——interrupt 取消/关闭的场景 我们知道,通过线程的start方法启动一个线程后,线程开始执行run方法,run方法运行结束后线程退出,那为什么还需要结束一个线程呢?有多种 ...
- python3 str和bytes转换
bytes object b = b"example" str object s = "example" #str to bytes bytes(s, enco ...
- Django模型系统——ORM表结构对应关系
对于数据库来说一般表结构只会有三种对应关系,分别是一对一.一对多和多对一,下面分别介绍: 1.一对多 何为一对多,例如一个学生只可能有一个班级,一个班级却又多个学生,班级表和学生表就是一对多的关系. ...
- height()、innerHeight()、outerHeight()函数的区别详解
具体参考博客:http://www.365mini.com/page/jquery-height-vs-innerheight-vs-outerheight.htm
- frontend-tools
收集整理好用的前端开发利器(Collect good front-end development tools ) 1.w3cplus前端工具 2.jsfiddle在线JS代码调试工具 3.w3cfun ...
- 每天一个Linux命令(13)less命令
less命令的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览. 用less命令显示文件时,用PageUp键向上翻页,用 ...
- 20145229吴姗珊 《Java程序设计》两天小总结
20145229吴姗珊 <Java程序设计>两天小总结 教材学习内容总结 第十章 输入\输出 1.java将输入\输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象 2.从应用程序 ...
- 斐波那契 (Fibonacci)数列
尾递归会将本次方法的结果计算出来,直接传递给下个方法.效率很快. 一般的递归,在本次方法结果还没出来的时候,就调用了下次的递归, 而程序就要将部分的结果保存在内存中,直到后面的方法结束,再返回来计算. ...
- ML一(概念学习和一般到特殊序)
概念学习和一般到特殊序 Concept Learning and the General-To-Specific Ordering 1 简介 1.1 定义 概念学习(Concept Learning) ...
- PHP中include路径的解决方法汇总
这几天整理一份很乱的代码,这才意识到php对include处理不是一般的贱:别的编程语言在处理include中的相对目录时,都是以当前处理的文件作为基准.也就是说,如果A包含B,B包含C时,C再包含一 ...