Nhibernate的介绍
1、介绍的内容
1、感谢园友的文章支持 by 李永京 by wolfy
2、Nhibernate的框架介绍
3、Nhibernate的架构介绍
4、Nhibernate映射方法介绍(该点自己也存在一定的疑问,如果有知道的园友请指正)
2、参考文章
由于英语一向都不太好,虽然最近在改进ing,可是让我看英文的文档还是会存在一定的问题,所以这里非常感谢之前园友对NHibernate的研究并且记录,以下是我主要参考的两位园友的文章
http://www.cnblogs.com/lyj/archive/2008/10/10/1308267.html 李永京大神的文章
http://www.cnblogs.com/wolf-sun/p/4138918.html wolfy的文章
3、项目准备
VS2013、oracle11g、Nhibernate
4、Nhibernate的框架介绍
NHibernate是一个面向.NET环境的对象/关系数据库映射工具。对象/关系数据库映射(object/relational mapping,ORM)这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。
在今日的企业环境中,把面向对象的软件和关系数据库一起使用可能是相当麻烦和浪费时间的。而NHibernate不仅仅管理.NET类到数据库表的映射(包括.NET 数据类型到SQL数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和ADO.NET处理数据的时间。
NHibernate的目标主要是用于与数据持久化相关的编程任务,能够使开发人员从原来枯燥的SQL语句的编写中解放出来,解放出来的精力可以让开发人员投入到业务逻辑的实现上。对于以数据为中心的程序,开发人员往往是在数据库中使用存储过程来实现商业逻辑,这种情况下NHibernate可能不是最好的解决方案,但对于那些基于.NET,并且能够实现OO业务模型和商业逻辑的中间层应用,NHibernate是最有用的。NHibernate可以帮助用户消除或者包装那些针对特定厂商的SQL代码,并且帮用户把结果集从表格式的表示形式转换成一系列的对象。
NHibernate 是一个基于.Net 的针对关系型数据库的对象持久化类库。NHibernate 来源于非常优秀的基于Java的Hibernate 关系型持久化工具
5、Nhibernate的架构介绍(这块就直接copy 李永京大神的)
你知道NHibernate到底什么样子?下面我摘取官方文档中的三幅不同的结构图稍做说明。
第一幅图:NHibernate体系结构非常抽象的概览

这幅图展示了NHibernate在数据库和应用程序之间提供了一个持久层。
第二幅图:轻量级体系,应用程序自己提供ADO.NET连接,并且自行管理事务。

第三幅图:重量级体系:所有的底层ADO.NET API都被抽象了。


6、Nhibernate映射方法介绍(该点自己也存在一定的疑问,如果有知道的园友请指正)
介绍:对象和关系数据库之间的映射是用一个XML文档(XML document)来定义的(这个是一个基础)。那么我们基于这个基础来讲下如何更加便捷的进行映射。
1、第一阶段:通过自己编写xml文档进行映射 (这种方法适合新入门的联系)
2、第二阶段:通过代码生成工具进行映射(请园友知道的列下工具,因为之前公司用的是定制化开发出来的生成工具的)
3、第三阶段:通过FluentNHibernate进行再代码中进行关系映射
4、第四阶段:通过ConfORM工具进行 该介绍在李永京的文章中可以找到 (我也不太了解)
暂时只有这四部分,如果有其他的方法,请园友提供指正,现阶段Nhibernate的文章基本都是2013年之前的,参考的价值只能适用入门。网上的实例文章跨度介绍,实在让人有些迷糊。所以想写一篇最近的文章出来,让大家一起讨论,一起进步。
毕竟流水线一样工作了5年,最后发现自己什么都没学到。
Nhibernate的介绍的更多相关文章
- NHibernate简单使用介绍
		
1.在数据库中新建表格,并插入记录,SQL如下: USE WFC_DB GO create table Students ( Id ,) not null, Name ), Age int, Scor ...
 - 六步实现Spring.NET 与 NHibernate 的整合
		
最近刚完成一个项目,其中对数据库的架构用到的是Spring.NET 与 NHibernate相结合的产物.对于这两项技术,我自己也不是太熟悉,不过好在网上有很多关于这方面的介绍文档,在这里就不多说了. ...
 - 华丽的NHibernate
		
华丽的NHibernate http://www.cnblogs.com/kissdodog/archive/2013/02/21/2919886.html 华丽的NHibernate NHibern ...
 - NHibernate Linq查询 扩展增强 (第九篇)
		
在上一篇的Linq to NHibernate的介绍当中,全部是namespace NHibernate命名空间中的IQueryOver<TRoot, TSubType>接口提供的.IQu ...
 - 一步步学习NHibernate(1)——NHibernate介绍
		
请注明转载地址:http://www.cnblogs.com/arhat 第十五章 从本章开始,老魏将给大家一起学习NHibernate这个流行的ORM框架,本来老魏想要和大家一起探讨微软的EF框架的 ...
 - LSJ_NHibernate第一章 NHibernate介绍
		
前言: 说起NHibernate网上资料真不少,但用的人却并不多,说起java的SSH框架大家可能就知道了,这里的H指的就是Hibernate,一款好用的ORM框架,在.net重写了这款好用的框架,名 ...
 - 使用NHibernate(6)-- HQL && ICriteria 简单介绍
		
1,HQL. HQL是NHibernate特有的查询方式,早先的java语法还没有类似Linq的Jinq,所以Hibernate就弄了一套自己的查询语言,NHibernate移植的时候把这种语言也一块 ...
 - NHibernate框架与BLL+DAL+Model+Controller+UI  多层架构十分相似--『Spring.NET+NHibernate+泛型』概述、知识准备及介绍(一)
		
原文://http://blog.csdn.net/wb09100310/article/details/47271555 1. 概述 搭建了Spring.NET+NHibernate的一个数据查询系 ...
 - C# 数据操作系列 - 11 NHibernate 配置和结构介绍
		
0. 前言 今天是NHibernate的第二篇内容,通过上一篇的内容,我们初步了解了NHibernate的创建和使用.这一篇,我继续探索NHibernate背后的秘密.嗯,就是这样. 1. NHibe ...
 
随机推荐
- [转载:]Fortran 二进制文件读写
			
一些朋友总是咨询关于二进制文件的读写和转化.这里就我自己的理解说一说. 一).一般问题 二进制文件与我们通常使用的文本文件储存方式有根本的不同.这样的不同很难用言语表达,自己亲自看一看,理解起来会容易 ...
 - Android开发--环境的配置
			
一 Android开发环境:JDK.eclipse ADT.海马模拟器或者夜神模拟器.配置之前先保证运行内存足够大,不然会导致运行卡. 二 JDK(不用安装) 1.jdk官方下载地址:http://w ...
 - Form文件夹开发步骤
			
1.开发完一个Form,测试OK 1.添加Object Groups 操作如下:在同一窗口打开标准的Form APPSTAND.FMB 和我们自己客制的Form,并且选择APPSTAND.FMB的Ob ...
 - 使用apache-jMeter出现乱码问题。
			
服务器字符(utf-8)正常,但是在使用apache-jMeter的时候,得到的数据会乱码.所以我们需要设置jmeter的字符编码.默认为ISO-8859-1. 进入jmeter.bat文件夹,有个j ...
 - Bootstrap 更改Navbar默认样式
			
alt+shift+n 新建文件ctrl+shift+/ 注释ctrl+shift+f 重新排版代码ctrl+/ 注释 /* navbar */.navbar-default { background ...
 - BASE64 官方方法,我自己用的,注意记住换行问题。
			
TBase64Encoding.Base64.Encode(str) TBase64Encoding.Base64.Decode(str) 注意如果str很长,base64后的结果是每76个字符自动加 ...
 - 创建maven项目时,提示 overlaps the workspace location
			
创建maven项目时提示: Invalid project description.OKF:\java\mywork overlaps the workspace location: F:\java\ ...
 - 循序渐进Python3(二) --  数据类型
			
数据类型 一.数字(int) Python可以处理任意大小的正负整数,但是实际中跟我们计算机的内存有关,在32位机器上,整数的位数为32位,取值范围为 -2**31-2**31-1,在64位系统上,整 ...
 - 分布式Hbase-0.98.4在Hadoop-2.2.0集群上的部署
			
fesh个人实践,欢迎经验交流!本文Blog地址:http://www.cnblogs.com/fesh/p/3898991.html Hbase 是Apache Hadoop的数据库,能够对大数据提 ...
 - hibernate执行session.createQuery(hql)时hql若有参数则报错
			
项目从Jboss换位Tomcat服务器,打开如下Hql都报错: SELECT COUNT(*) FROM SystemUser WHERE STATUS != -1 解决方法:在Lib中加入antlr ...