HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

NHibernate 2.0 带来了很多新特性

  • 2008-04-15
  • 本文字数:1374 字

    阅读完需:约 5 分钟

NHibernate 2.0 Alpha 于本周发布了。当前的 2.0 版本是针对 Hibernate 3.2.6 的特性集跨出的第一步,很多类都已经完全重写而且添加了很多特性。 InfoQ 有幸采访了项目带头人 Karl Chu,以及 Ayende 和 Fabio Maulo 等人,谈论到了这个 2.0 版本的一些细节。当问到在 2.0 中最重要的改变是什么时,Karl 回答道:

从 1.2 到 2.0 有很多改变。如果只挑选一两个的话,我想新的继承映射策略以及新的事件底层机制是最重要的。它们为 NHibernate 带来了巨大的灵活性。

Ayende 在他的博客上发布了一个关于所有改变和新特性的列表。他赞同 Karl 的观点,认为新的事件(Events)、动作(Actions)和监听器(Listeners)特性以及“对于 Criteria API 的主要增强”,特别 Multi Criteria 的加入是很重要的,它们允许“在一次 DB 访问往返中,能对 DB 执行多个查询,并实现了批量查询这样有意思的使用场景”。

事件(Events)、动作(Actions)和监听器(Listeners)特性为“介入 NHibernate 内部完成操作”提供了途径,Ayende 说道。“这在很多场景中是很有用的,尤其当你想更好的控制 NHibernate 的运作的时候”。据 Fabio Maulo 所说,“重写 NH 默认的事件所受到的限制只是你自己的想象力”。NHibernate 展现了很多使用事件特性的方式,例如 NHibernate.Validator 使用了事件 / 监听器,未来的 NHibernate.Search 和 NHibernate.Shards 用到了事件,以及 NHibernate AddIns 提供了一些示例来说明如何使用事件把 EnterpriseLibrary Validation-Application-Block 和 NHibernate 进行合并。

对于“Alpha”状态,Ayende 解释到:

我们虽然称之为 alpha,但我们很多人已经把其用到了生成环境里了,所以我们其实已经确信它已经比较稳定了。它依旧处于 alpha 的原因是,在(上一个版本发布的)近 9 个月以来,我们对其做了大量的更改,所以我们想在正式发布它之前能得到更多真实世界使用的反馈。自从上一个版本发布以来,被改变的代码行数最新估计大约是 100000 行。

尽管很多特性被加入其中,但“很多改变都是针对核心的”,Ayende 说道,“需要把 Hibernate 3.2 的特性移植过来,并对 NHibernate 进行大量的改变以符合 Hibernate 3.2 现存的代码基础”。Fabio 提到“NHibernate 2.0.0 只是针对 Hibernate 3.2.6 移植的第一步”且 2.1.0 版本将最终消除它们的差异。

对于 LINQ 的支持,Karl Chu 说道:“我个人相信 NHibernate.Linq 的成功将在 NHibernate 未来的成功中扮演一个重要的角色”。Ayende 正在精心实现 Linq for NHibernate(NHibernate.Linq)子项目:

Linq for NHibernate 正在开发当中,目前我们已经完成了最基本的功能,可以配合 NHibernate 2.0 Alpha 1 使用。
我们正在着手开发一些高级功能。一旦完成,我们将把 Linq for NHibernate 合并到 NHibernate 项目中(现在可能作为一个 Contrib 项目存在),并和 NHibernate 一起发布。
注意 NHibernate 依旧和.NET 2.0 完全兼容,Linq for NHibernate 只是一个插件而已。

NHibernate 2.x 的线路图“是将实现 Hibernate 3.2 的所有特性;我们离这个目标不会太远”,Karl Chu 这样宣称。

Juli Lerman 写文章谈论了 NHibernate 2.0 Alpha ,并指出它相对于实体框架(Entity Framework)的关系和位置是“EF 有很长的路还要走,所以在此期间 NHibernate 将会越来越强大”。

查看英文原文: NHibernate 2.0 Offers Many New Features

2008-04-15 02:551724
用户头像

发布了 254 篇内容, 共 57.1 次阅读, 收获喜欢 2 次。

关注

评论

发布
暂无评论
发现更多内容

Django框架,Flask框架和Tornado框架各有什么优缺点

古月木易

django flask tornado

NameNode和SecondaryNameNode工作机制

奈学教育

NameNode

真香!Linux 原来是这么管理内存的

苹果看辽宁体育

Linux 操作系统

蚂蚁上市:P7可获1200万元期权,酸酸酸酸酸...

程序员生活志

互联网热点 蚂蚁金服

一个小实验,来

池建强

算法 薪资

Flink 1.11 SQL 使用攻略

Apache Flink

flink

一周信创舆情观察(7.20~7.26)

统小信uos

第八周总结

andy

极客大学

第八周作业

田振宇

如何成为一个成功的首席数据官

麒思妙想

池化技术到达有多牛?看了线程和线程池的对比吓我一跳!

王磊

Java

Django框架,Flask框架和Tornado框架各有什么优缺点

奈学教育

django flask tornado

原创 | 使用JPA全面实现DDD持久化【关于本书】

编程道与术

Java hibernate DDD JDBC jpa

到底一台服务器能够支持多少TCP并发连接?

南方有乔木兮

央行数字货币或将成为经济“内循环”的未来加速器

CECBC

数字经济 全球经济下行 降息 惠普金融深化

NameNode和SecondaryNameNode工作机制

古月木易

NameNode econdaryNameNode

LeetCode题解:142. 环形链表 II,JavaScript,快慢指针,详细注释

Lee Chen

大前端 LeetCode

QQ音乐PB级ClickHouse实时数据平台架构演进之路

腾讯云大数据

大数据

如何设计一个亿级消息量的IM系统

Chank

Java Architecture Architect IM Instant Messaging

将Arch Linux安装到U盘

Kurtis Moxley

Linux 安装操作系统

当远程工作成为未来的工作方式......

Atlassian

Atlassian Jira

顺势昌,逆势亡:人啊,得学会做信天翁,而不是鹧鸪鸟

非著名程序员

创业 程序员 管理 提升认知

什么样的信任才值得拥有?谈一谈极客邦的5K1S文档

霍太稳@极客邦科技

乘商用之风,破后疫情之浪:丁耘分享华为如何持续护航5G新价值

脑极体

实战:docker搭建FastDFS文件系统并集成SpringBoot

生命在于折腾

springboot

week08 总结

Z冰红茶

秒杀全网!研发、运营必备实用工具网站

程序员生活志

工具类网站

国家版权局发布《关于规范摄影作品版权秩序的通知》

CECBC

电子存证 作品版权 侵权盗版 剑网2019

第八周作业

andy

极客大学

4. JSON字符串是如何被解析的?JsonParser了解一下

YourBatman

Jackson JSON库

计算机网络基础(十)---网络层-迪杰斯特拉算法

书旅

算法 计算机网络 网络 最短路径

NHibernate 2.0带来了很多新特性_.NET_Hartmut Wilms_InfoQ精选文章