1、Hibernate功能强大,数据库无关性好,O/R映射能力强。程序员甚至不需要对SQL 的熟练掌握,Hibernate/OJB 会根据制定的存储逻辑,自动生成对应的SQL 并调用JDBC 接口加以执行。版本的开发速度都要强于iBATIS

2、iBATIS,提供了数据库查询的自动对象绑定功能,而且延续了很好的SQL使用经验,对于没有那么高的对象模型要求的项目来说,相当完美。

 

在实际应用项目开发中的相关:

1、ibatis可以自动生成部分sql映射,有些需要根据自己项目的业务需求得手写一些;hibernate基本上可以自动生成sql映射,偶尔需要根据业务需求要写一些Hql。在同样的需求下,ibatis的工作量比Hibernate大一下。如果数据库有修改,hibernate修改的pojo相关的比较少。

2、ibatis可以进细粒度的优化。在更新字段上,ibatis比hibernate要好

3、开发方面,效率上两个差不多,但是在可维护性,ibatis会更好些。对sql来说,ibatis是配置在一个文件中,可以自己优化和维护。系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高度优化的SQL语句(或存储过程)才能达到系统性能设计指标。在这种情况下iBATIS会有更好的可控性和表现

4、运行效率,在不考虑 cache 的情况下,iBatis应该会比hibernate 快一些或者很多