论坛首页 Java企业应用论坛

选择Hibernate还是iBatis?

浏览 76546 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-06-23  
选择Hibernate还是iBATIS都有它的道理:

Hibernate功能强大,数据库无关性好,O/R映射能力强,如果你对Hibernate相当精通,而且对Hibernate进行了适当的封装,那么你的项目整个持久层代码会相当简单,需要写的代码很少,开发速度很快,非常爽。

Hibernate的缺点就是学习门槛不低,要精通门槛更高,而且怎么设计O/R映射,在性能和对象模型之间如何权衡取得平衡,以及怎样用好Hibernate方面需要你的经验和能力都很强才行。

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

iBATIS的缺点就是框架还是比较简陋,功能尚有缺失,虽然简化了数据绑定代码,但是整个底层数据库查询实际还是要自己写的,工作量也比较大,而且不太容易适应快速数据库修改。

我的建议就是:

如果你的团队没有Hibernate高手,那么请用iBATIS,要把Hibernate用好,并不容易;否则你应该选择Hibernate,那样你的开发速度和代码简洁性都相当棒!

BTW:

我觉得rails的ActiveRecord是平衡性做的最好的,避免了Hibernate的复杂性和学习HQL的成本,同时具备iBATIS即学即用的简单性。
0 请登录后投票
   发表时间:2006-06-30  
robbin 写道
选择Hibernate还是iBATIS都有它的道理:

Hibernate功能强大,数据库无关性好,O/R映射能力强,如果你对Hibernate相当精通,而且对Hibernate进行了适当的封装,那么你的项目整个持久层代码会相当简单,需要写的代码很少,开发速度很快,非常爽。

Hibernate的缺点就是学习门槛不低,要精通门槛更高,而且怎么设计O/R映射,在性能和对象模型之间如何权衡取得平衡,以及怎样用好Hibernate方面需要你的经验和能力都很强才行。

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

iBATIS的缺点就是框架还是比较简陋,功能尚有缺失,虽然简化了数据绑定代码,但是整个底层数据库查询实际还是要自己写的,工作量也比较大,而且不太容易适应快速数据库修改。

我的建议就是:

如果你的团队没有Hibernate高手,那么请用iBATIS,要把Hibernate用好,并不容易;否则你应该选择Hibernate,那样你的开发速度和代码简洁性都相当棒!

BTW:

我觉得rails的ActiveRecord是平衡性做的最好的,避免了Hibernate的复杂性和学习HQL的成本,同时具备iBATIS即学即用的简单性。


凯老大发话,赫赫。总结发言了。
0 请登录后投票
   发表时间:2006-07-05  
我的愚见是先用jdbc,等过段时间稳定了,再对其进行改装,我们的项目也是这样的,后来就达到以最小的内存耗用完成最大的功能,HIBERNATE3功能更强劲,对功底要求高,本人是HIBERNATE开发的配角,也比较累,循序渐进吧
0 请登录后投票
   发表时间:2006-09-18  
Hibernate的学习难度远大于iBATIS,一个新手硬逼着死钻Hibernate一个月,竟然还不会处理一对多映射,换iBATIS 3天就告诉我可以参与写代码了,绝对不是夸张!项目组没有精通Hibernate的人还是用iBATIS为好。
0 请登录后投票
   发表时间:2006-09-18  
如果没有人熟悉hibernate,最好是用ibatis,不然你会遇到很多问题,减慢开发进度
0 请登录后投票
   发表时间:2006-09-18  
robbin 写道
选择Hibernate还是iBATIS都有它的道理:

Hibernate功能强大,数据库无关性好,O/R映射能力强,如果你对Hibernate相当精通,而且对Hibernate进行了适当的封装,那么你的项目整个持久层代码会相当简单,需要写的代码很少,开发速度很快,非常爽。

Hibernate的缺点就是学习门槛不低,要精通门槛更高,而且怎么设计O/R映射,在性能和对象模型之间如何权衡取得平衡,以及怎样用好Hibernate方面需要你的经验和能力都很强才行。

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

iBATIS的缺点就是框架还是比较简陋,功能尚有缺失,虽然简化了数据绑定代码,但是整个底层数据库查询实际还是要自己写的,工作量也比较大,而且不太容易适应快速数据库修改。

我的建议就是:

如果你的团队没有Hibernate高手,那么请用iBATIS,要把Hibernate用好,并不容易;否则你应该选择Hibernate,那样你的开发速度和代码简洁性都相当棒!

BTW:

我觉得rails的ActiveRecord是平衡性做的最好的,避免了Hibernate的复杂性和学习HQL的成本,同时具备iBATIS即学即用的简单性。



我是初学者,接触了iBATIS,确实比较容易上手,在这里多听听高人的意见,虚心学习!
0 请登录后投票
   发表时间:2006-09-20  
如果是ERP项目,我觉得用ibatis远比hibernate好!我们目前ERP基本都把业务逻辑放到了procedure,ibatis来得更实在.
0 请登录后投票
   发表时间:2006-09-21  
一叶孤鸿 写道
如果是ERP项目,我觉得用ibatis远比hibernate好!我们目前ERP基本都把业务逻辑放到了procedure,ibatis来得更实在.


业务逻辑放到procedure里?遗留系统,还是出于性能考虑?这两种情况下都是iBATIS更实用。
0 请登录后投票
   发表时间:2006-09-27  
fight_bird 写道
一叶孤鸿 写道
如果是ERP项目,我觉得用ibatis远比hibernate好!我们目前ERP基本都把业务逻辑放到了procedure,ibatis来得更实在.


业务逻辑放到procedure里?遗留系统,还是出于性能考虑?这两种情况下都是iBATIS更实用。
我们是基于oracle erp来开发的系统,oracle erp的整个逻辑基本都是封装package中的
0 请登录后投票
   发表时间:2006-09-28  
我毕业设计用的是hibernate+spring好多问题用hibernate无法解决,不如用ibatis好
不过我对ibatis不是很熟悉,郁闷了好长时间
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics