NHibernate

.NET 数据持久层框架
授权协议 LGPL
开发语言 .NET
所属分类 程序开发、 ORM/持久层框架
软件类型 开源软件
地区 不详
投 递 者 黄丰
操作系统 Windows
开源组织
适用人群 未知
 软件概览

NHibernate 是一个基于.Net 的针对关系型数据库的对象持久化类库。Nhibernate 来源于非常优秀的基于Java的Hibernate 关系型持久化工具。NHibernate 从数据库底层来持久化你的.Net 对象到关系型数据库。

NHibernate 让开发者的代码仅仅和对象关联,NHibernat 自动产生 SQL 语句,并确保对象提交到正确的表和字段中去。

特性包括:

  • Visual Studio 友好,Visual Studio 中轻松映射常规 C# 或 VB.NET 对象模型,不需要特殊的基类或属性,完全支持继承、组件和枚举。
  • 快速开发周期,从域模型生成数据库表,支持所有流行的关系数据库,支持复杂的旧方案。
  • 大量插件与工具,包括全文搜索、使用 Microsoft Velocity 和 Memcached 进行集群范围的缓存、业务验证规则、ReSharper 插件等
  • 稳健的社区,NHibernate 受欢迎,并且增长快速,拥有经验丰富的开发人员社区,被用于数千个商业和开源项目。
  • http://www.narchitecture.net/articles/wwlpia.aspx 二 NHB中主要接口的介绍 ISession ISession是面向用户的主要接口,主要用于对象持久化,数据加载等操作,支持数据库事务,它隐藏了NHB内部复杂的实现细节,ISession由ISessionFactory创建。 ISessionFactory ISessionFactory是NHB内部

  • NHibernate is a port of Hibernate Core for Java to the .NET Framework. It handles persisting plain .NET objects to and from an underlying relational database. Given an XML description of your entities

  • 胡乱用用,把一些觉得有用的记下来。   像我这样的懒人可以选用这样的组合:vs2008+codesmith(NHibernate)+System.Data.SQLite。   1  创建数据库,略过。   2  创建工程,略过。(呵呵,下面我是不是也直接略过得了^_^)   3  配置codesmith   3.1  添加codesmith工程   要是在新建项里没有,可以将codesmith安装

  •   NHibernate 本文约定: 1. Nhibernate简写为NHB; 2. 本文例子的开发平台为win2000pro+sp4, sql server2000, Nhibernate0.5; 3. 使用SQL Server自带的罗斯文商贸数据库(Northwind),是英文版的哦; 4. 本文例子是基于测试驱动开发(TDD)的,因此建议使用NUnit和Log4Net 一 NHB简介 NHB

  •  http://publish.itpub.net/zt/nhibernate/index.html

  •  http://www.cnblogs.com/lyj/ http://space.cnblogs.com/group/NHibernate/ http://www.cnblogs.com/a-peng/archive/2008/10/28/1321580.html http://www.360doc.com/content/061202/12/8567_280284.html

  •  什么是NHibernate?   什么是?NHibernate?NHibernate是一个面向.NET环境的对象/关系数据库映射工具。对象/关系数据库映射(object /relational mapping,ORM)这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。    在今日的企业环境中,把面向对象的软件和关系数据库一起使用可能是相当麻烦和浪费时间的。而

  • 使用步骤 1. 建立库表 2. 建立映射对象 3. 建立映射文件 4. 编写配置文件 5. 编写程序 详细说明 1. 建立库表  库:    test    表:    userinfo    字段:uid char(10), pwd char(20) uid为主键 2. 建立映射对象 using System; namespace testNHibernate {  /// <summary>

  •   在今日的企业环境中,把面向对象的软件和关系数据库一起使用可能是相当麻烦、浪费时间的。NHibernate是一个面向.NET环境的对象/关系数据库映射工具。对象/关系数据库映射(object/relational mapping (ORM))这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。 NHibernate不仅仅管理.NET类到数据库表的映射(包括.NE

  • oracle users表: CREATE TABLE "JCKFR"."USERS" ("LOGINID" VARCHAR2(20 byte) NOT     NULL, "USERNAME" VARCHAR2(40 byte) NOT NULL, "PASSWORD"     VARCHAR2(20 byte) NOT NULL, "EMAILADDRESS" VARCHAR2(40 byte

  •     NHibernate 3.2或以上的版本就没有  NHibernate.ByteCode.Castle.dll, NHibernate.ByteCode.LinFu.dll,  NHibernate.ByteCode.Spring.dll 这三个DLL了,   hibernate.cfg.xml 配置文件中的  proxyfactory.factory_class要修改如下 :     <

  •     一直准备学习Nhibernate,最近终于忙完项目,可以静下心来学习Nhibernate了。  (一) 领域模型 vs 数据集       在Martin Flower的《企业应用架构模式》一书中提到了企业应用的业务逻辑的组织主要分为以下三种模式:面向过程的事务脚本、面向对象的领域模型以及面向数据集的开发模式。      微软.Net Framework中提供了大量的数据感知组件使得开发者

  • 8章 NHibernate缓存(NHibernate.Caches) 什么是 NHibernate.Caches? NHibernate.Caches 是 NHibernate 的附加软件,它是Kevin Williams (aka k-dub)贡献的.缓存是一个保存实体的地点(在首次加载时);一旦进入缓存,能够取得它们,而无需(再次)查询的后台的存储(数据库)。这意味着它们能更快的加载(或重新加

  • 用nhibernate,觉得比较难把握的是其中表间的关系。 我用的是Fluently Nhibernate,直接用代码,而不是XML来书写代码与数据表的映射。其中表间关系有3种: 1、References(关联,可用于多对一,一对一) 2、HasMany(一对多) 3、HasOne(一对一) 1、References(多对一) 用于从表映射主表。常与主表映射从表的HasMany一起使用,可在同一事

  • NHibernate 支持两种级别的缓存, 即一级缓存以及二级缓存。 一级缓存 一级缓存就是 ISession 缓存, 在 ISession 的生命周期内可用, 多个 ISession 之间不能共享缓存的对象, 通过 ISessionFactory 创建的 ISession 默认支持一级缓存, 不需要特殊的配置。 在 NHibernate 的参考文档中, 对 ISession 的描述如下: A s

  • 一 NHB简介     NHB是基于ms.net的O/R Mapping持久框架,它从基于Java的Hibernate项目移植而来。O/R Mapping就是把对象到映射关系数据库的记录,简单的说就是能实现把一个对象存储为数据表中的一条记录和由一条记录创建一个相应的对象,数据表中的数据就是对象的属性。      那么为什么要使用O/R Mapping?它与传统的DataSet/DataTable又

  • http://blog.csdn.net/billy_zh/archive/2004/08/12/72768.aspx

  • 在你使用nhibernate 时,在用drapper调用存储过程时,需使用同一个SqlConnection,才不导致查询出错; 在使用nhibernate 时,在使用try~catch~finally进行关闭时,需判断是否已被释放,否则会报错

  • NHibernate在不同的环境应该使用不同的上下文环境,分类如下: 1、  NHibernate.Context.ManagedWebSessionContext 为Web项目的HttpContext提供操作上下文,仅用在Web 项目中。必须手动通过Bind和Unbind静态方法绑定和解除ISession实例,它自己不能打开,关闭自己。 配置参数current_session_context_c

 相关资料
  • 名称 方法 实现 Hibernate 优势 劣势 Mybaties Jpa get 1. Hibernate 1.1 单独使用 1.1.1 For Idea 新建项目:【File】——>【New】——>【Project】——>【Java】——>【Hibernate、JavaEE Persistence】 添加数据连接驱动 配置数据源 根据数据库表生成实体类:【Persistence】——>【名称】

  • 我正在使用网络逻辑10.3。我正在尝试配置一个持久订阅,其中包含由 jdbc 存储(在 Oracle DB 中)支持的持久消息。我有一个主题,MDB 正在作为持久订阅者侦听该主题。在场景-1下:如果我发送消息,它会命中MDB。 在场景2中:我挂起了MDB,希望发送到主题的消息只要不被MDB(它是唯一注册的持久订阅者)使用,就会一直存在。但是当我向主题发送消息时,它短暂地出现在那里,然后就消失了(我

  • 问题内容: 我有一个利用图(树状)自定义结构的应用程序。这些结构不是真正的树木,但几乎所有事物都连接在一起。数据量也很大(可以存在数百万个节点)。树节点的类型可以不同,以使其更有趣(继承)。我不想更改数据结构以容纳持久性存储。 我想保留这些数据而无需过多的工作。我已经选择了一些解决方案来解决此问题,但找不到任何完全适合我需要的东西。可能的选项:序列化,使用ORM的数据库(Hibernate?),使

  • 数据落盘问题的由来 这本质上是数据持久化问题,对于有些应用依赖持久化数据,比如应用自身产生的日志需要持久化存储的情况,需要保证容器里的数据不丢失,在Pod挂掉后,其他应用依然可以访问到这些数据,因此我们需要将数据持久化存储起来。 数据落盘问题解决方案 下面以一个应用的日志收集为例,该日志需要持久化收集到ElasticSearch集群中,如果不考虑数据丢失的情形,可以直接使用前面提到的应用日志收集一

  • 为了学习数据的持久化,写一个简单的地址薄合约.虽然这个例子因为各种原因作为生产环境的合约不太实用,但它是一个很好的合约用来学习EOSIO的数据持久化并且不会因为与eosio multi_index不相关的相关业务逻辑分心. Step 1:创建一个新的文件夹 进入之前的目录: cd /Users/zhong/coding/CLion/contracts 为我们的合约创建一个新的目录并进去: mkd

  • 主要内容:一、数据持久化,二、持久化的形式,三、源码分析,四、总结一、数据持久化 redis做为一种内存型数据库,做持久化,个人感觉略有鸡肋的意思。似乎有一种,别人有,自己不有也不行的感觉。以目前Redis主流的应用方式,如果仔细分析,基本上都是在内存中即可完成,对持久化没要求或者说不大。再举一个反例,如果内存中有几百G甚至更多的数据,真要是整体当机,恢复的时间基本就是灾难。 目前基本应用仍然是以关系型数据库或者其它数据库(如Hadoop,Mysql等)为持久化

  • 问题内容: 东西没有被冲走。发生的情况的简化示例: 输出: 我不知道是否必须对Session和Transaction进行某些操作才能使数据持久化,或者这是GPar中的错误。在底层的hibernate级别发生了什么? 我希望最近创建的Person在并行闭包中可见。 问题答案: Gpars是一个多线程工具,并且在您的域类中注入的hibernate会话不是线程安全的。 尝试使用以下方法或直接调用Sess

  • 问题内容: 我在apache和mod_wsgi和PostgreSQL中使用django(都在同一主机上),并且我需要处理很多简单的动态页面请求(每秒数百个)。我面临的问题是,瓶颈是django没有持久的数据库连接,并在每个请求上重新连接(大约需要5毫秒)。在进行基准测试时,我得到了持久连接,我可以处理近500 r / s,而没有连接时,我只能得到50 r / s。 有人有什么建议吗?如何修改Dja