日期:2014-05-16  浏览次数:20396 次

Hibernate和iBates比较

Hibernate是当前最流行的O/R mapping框架

iBates是另一种优秀的O/R mapping 框架,相对于Hibernate而言 ibates是一种Sql Mapping的ORM实现。

Hibernate对数据接口提供了较为完整的封装 Hibernate的O/R mapping实现了POJO和数据库表之间的映射,以及SQL自动生成和执行。

  程序员甚至不需要对SQL熟练掌握,Hibernate/OJB会根据指导的存储逻辑自动生成对应的SQL语句并调用JDBC接口加以执行。

iBates是对POJO与SQL之间的映射关系,

  iBates不会为程序员生成SQL语句,具体SQL需要程序员自己编写,然后通过映射配置文件,将SQL所需的参

  数以及返回的结果字段映射到指导的POJO。

相对于Hibernate而言,iBates以SQL开发的工作量和数据库移植性上较差,为系统设计提供了更大的自由空间。

二者对比:

1、iBates非常简单易用,Hibernate相对比较复杂,门槛较高。

2、当系统属于二次开发时,无法对数据库结构做到控制和修改,那么iBates的灵活性将比Hibernate更适合。

3、系统数据处理量巨大,性能要求极为苛刻,这意味着我们必须通过高度优化的SQL语句才能达到性能设计指标,

   在这种情况下iBates有更好的可控制性和表现。

4、iBates需要手写SQL语句,Hibernate则基本上是自动生成,偶尔会写一些hql语句。

5、Hibernate现在已成主流的O/R mapping框架,从文档的丰富,成品完善,版本的开发速度都要强于iBates。