NHibernate 是当前最流行的 Java O/R mapping 框架Hibernate 的移植版本,当前版本是 1.0 .2 。它出身于sf.net..IbatisNet 是另外一种优秀的 Java O/R mapping框架,当前版本是 1.2 。目前属于 apache 的一个子项目了。
相对 NHibernate “ O/R ”而言, IbatisNet 是一种“ Sql Mapping ”的 ORM实现。
NHibernate 对数据库结构提供了较为完整的封装,NHibernate 的 O/R Mapping 实现了 PO 和数据库表之间的映射,以及 SQL 的自动生成和执行。程序员往往只需定义好了 PO 到数据库表的映射关系,即可通过 NHibernate 提供的方法完成持久层操作。程序员甚至不需要对 SQL 的熟练掌握, NHibernate 会根据制定的存储逻辑,自动生成对应的 SQL 并调用 ADO.NET 接口加以执行。
而 IbatisNet 的着力点,则在于 PO 与 SQL 之间的映射关系。也就是说, IbatisNet 并不会为程序员在运行期自动生成 SQL 执行。具体的 SQL 需要程序员编写,然后通过映射配置文件,将 SQL 所需的参数,以及返回的结果字段映射到指定 PO。
使用 IbatisNet 提供的 ORM 机制,对业务逻辑实现人员而言,面对的是纯粹的 DotNet 对象,这一层与通过NHibernate 实现 ORM 而言基本一致,而对于具体的数据操作, NHibernate 会自动生成 SQL 语句,而 IbatisNet则要求开发者编写具体的 SQL 语句。相对 NHibernate 而言, IbatisNet 以 SQL 开发的工作量和数据库移植性上的让步,为系统设计提供了更大的自由空间。
二者的对比:
转载于:https://www.cnblogs.com/zhangyuhang3/p/6906157.html