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年,最后发现自己什么都没学到。

时间: 2024-12-09 06:07:10

Nhibernate的介绍的相关文章

NHibernate Linq查询 扩展增强 (第九篇)

NHibernate Linq查询 扩展增强 (第九篇) 在上一篇的Linq to NHibernate的介绍当中,全部是namespace NHibernate命名空间中的IQueryOver<TRoot, TSubType>接口提供的.IQueryOver<TRoot, TSubType>这个借口实际上会被翻译成条件查询(Criteria Queries). 实际上Linq to NHibernate更加强大.我们先引入命名空间NHibernate.Linq,这里面有Linq

推荐NHibernate新书:NHibernate 3.0 CookBook[附下载]

NHibernate近况 目前我们很难对NHibernate整个技术体系有个完整的把握.其原因是官方文档不全,关于NHibernate的书也没几本.NHibernate 3.0 CookBook这本书可以算是弥补了NHibernate文档很多空白. 在国内更是资料寥寥无几.甚至可以说是空白.但是从今年的NHibernate下载量官方统计来看,中国居然是全球第一,占24%,高达4万之多,从这么大的数字来看,不知道有多少人真正的把NHibernate使用地"灵活自如"呢,这的确是个未知数.

NHibernate框架与BLL+DAL+Model+Controller+UI 多层架构十分相似--『Spring.NET+NHibernate+泛型』概述、知识准备及介绍(一)

原文://http://blog.csdn.net/wb09100310/article/details/47271555 1. 概述 搭建了Spring.NET+NHibernate的一个数据查询系统.之前没用过这两个框架,也算是先学现买,在做完设计之 后花了一周搭建成功了.其中,还加上了我的一些改进思想,把DAO和BLL之中相似且常用的增删改查通过泛型T抽象到了DAO和BLL的父类中,其DAO 和BLL子类只需继承父类就拥有了这些方法.和之前的一个数据库表(视图)对应一个实体,一个实体对应一

NHibernate 介绍和下载地址

NHibernate 是一个面向.NET 环境的对象/关系数据库映射工具.对象关系映射(O/R Mapping,Object Relational Mapping)表示一种技术,用来把对象模型表示的对象映射到基于SQL 的关系模型数据结构中去.NHibernate官方站点:http://nhforge.org/NHibernate参考文档:http://nhforge.org/doc/nh/en/获取NHibernate地址:http://sourceforge.net/projects/nhi

NHibernate 3.0.0.Alpha1 发布及新特性介绍

发布 刚刚NHibernate的Leader--Fabio Maulo发布了NHibernate 3.0.0.Alpha1版本,这是NHibernate 3.0.0的第一个公开测试版本. 下载地址 你可以到这里下载NHibernate 3.0.0.Alpha1,基于.Net3.5平台,具体文件如下. NHibernate源码:NHibernate-3.0.0.Alpha1-src.zip NHibernate二进制文件:NHibernate-3.0.0.Alpha1-bin.zip 特性介绍 N

【转】NHibernate主键类型介绍

转自:http://blog.163.com/wzx_dd/blog/static/1942850722012828934553/ 最近整合了一下框架,用SSH搭建了一个框架,但是在整合好之后,启动tomcat的时候老是报这个错误,上网搜集了一下并向同事问了问,终于知道了错误原因: 数据库不支持自动递增主键(oracle就不支持)所以你的key generation需要从新设置 通过上网搜集,整理了一下关于主键自增列的知识,以供以后学习使用: 1) Assigned 主键由外部程序负责生成,无需

Mvc4+autofac+jggrid+nhibernate(1) 架构介绍

写这篇博文只是介绍下思路,主要目的是为了找工作,所以细节不是很详细,请大家勿喷 第一章架构介绍 1,架构介绍 先看个整体图 Infrastructure解决方案中使用的基础工具. Application站点应用层,组织业务逻辑管理业务事务的地方.比如登录,菜单等.Models是用来放UI中所使用的ViewModel即DTO类,以及利用value.injecter进行实体和viewmodel转换的映射类. Core 核心层,实现ORM的实体类和映射,以及仓储,业务服务类等. Demo.site.w

NHibernate数据库配置文件介绍及多数据库连接简介

编写配置文件 <?xml version="1.0" encoding="utf-8" ?><hibernate-configuration  xmlns="urn:nhibernate-configuration-2.2" >  <session-factory name="NJ12369.SendInfo">    <!-- properties -->    <pro

NHibernate应用四:NHibernate的查询方式介绍

NHibernate中提供了三种查询方式:NHibernate 查询语言(HQL,NHibernate Query Language).条件查询(Criteria API,Query By Example(QBE)是Criteria API 的一种特殊情况).原生SQL(Literal SQL,T-SQL.PL/SQL). 2009年,微软发布NHibernate.Linq 1.0 后,NHibernate能通过该DLL支持LINQ.