论坛首页 Java企业应用论坛

选择Hibernate还是iBatis?

浏览 76347 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-06-04  
shanghai 写道
liuwangxia 写道
如果是新项目,还是用 Hibernate 为好,具体原因《深入浅出 Hibernate》中写得很详细。如果发现性能瓶颈,可以用 Hibernate 3 中新引入的自定义持久化实现机制,或者存储过程来解决。

在这种情况下它的ORM还有存在意义吗?

怎么没有意义?
0 请登录后投票
   发表时间:2006-06-04  
netfishx 写道
shanghai 写道
liuwangxia 写道
如果是新项目,还是用 Hibernate 为好,具体原因《深入浅出 Hibernate》中写得很详细。如果发现性能瓶颈,可以用 Hibernate 3 中新引入的自定义持久化实现机制,或者存储过程来解决。

在这种情况下它的ORM还有存在意义吗?

怎么没有意义?


我的疑问是,对于在业务逻辑中想这种形式编码: customer.orders[0].product.price * customer.orders[0].amount

iBatis有什么通用办法做到?
0 请登录后投票
   发表时间:2006-06-06  
liusong1111 写道
netfishx 写道
shanghai 写道
liuwangxia 写道
如果是新项目,还是用 Hibernate 为好,具体原因《深入浅出 Hibernate》中写得很详细。如果发现性能瓶颈,可以用 Hibernate 3 中新引入的自定义持久化实现机制,或者存储过程来解决。

在这种情况下它的ORM还有存在意义吗?

怎么没有意义?


我的疑问是,对于在业务逻辑中想这种形式编码: customer.orders[0].product.price * customer.orders[0].amount

iBatis有什么通用办法做到?


这样不行吗?业务逻辑本身就是可以封装在StoreProceduer中,对于Ibatis来说,只要是sp能实现的方法都是通用的方法。
select Order.ProdId,Prod.ProdDescription, Order.Amount,Prod.Price*Order.Amount from Product Prod, OrderItem Order where Order.OrderId=#id#....
0 请登录后投票
   发表时间:2006-06-06  
to ray_linn:
我想你我理解的“通用”有些差别,liusong所指的“通用”应该是指无需重复的写sql
0 请登录后投票
   发表时间:2006-06-06  
netfishx 写道
to ray_linn:
我想你我理解的“通用”有些差别,liusong所指的“通用”应该是指无需重复的写sql


我的通用指的是无需重复搞mapping,  mapping有时候也是恶梦.
看看用hibernate的时候,得去mapping多少个表?
Customer? order? orderitem?Product?...

不如简单一句SQL.
0 请登录后投票
   发表时间:2006-06-06  
具体情况具体分析吧,依据我的经验,hibernate学习的周期长一些,ibatis比较容易上手,而且很快,有个1-2个小时就可以使用了.当然,hibernate也不是十全十美的.当时我用的时候,有很多地方感觉不爽.还要去学习hql.但是感觉还是挺不错的.
0 请登录后投票
   发表时间:2006-06-07  
性能瓶颈不在程序,跟你的SQL优化和数据库的相关索引有关,选择ibatis或hibernate还在于你的团队对技术的接受,理解能力和对问题的解决能力。
0 请登录后投票
   发表时间:2006-06-14  
shanghai 写道
请使用hibernte不到二年的朋友不要在这里误导别人。我可以直言不讳的说,hibernate非常差劲。不要被他那可爱的 ORM 诱惑了,否则将来你必受冲动的惩罚。


这个朋哟说的太那个了吧, 是你自己用了这么长时间还是不熟悉Hibernate吧,呵呵,我的一个项目用这个就不错,而且以前的一个项目想想如果用Hibernate回更加容易开发,
而且我已经针对Hibernate开发 开发出一套代码生成工具,只要定义好数据库,其它的插入,修改删除查询等代码全部自动生成,开发特别方便
可以这么说:
1, 对Hibernate不熟悉的人或没用过在项目的人,不适合,像上面这位朋友这样
2,Hibernate 还是比较好的,虽然集成度高了点,但是可以结合别的框架一起来解决这些问题,毕竟一个项目多数的应用不是都那么复杂的查询
0 请登录后投票
   发表时间:2006-06-14  
bdzhaopin 写道
shanghai 写道
请使用hibernte不到二年的朋友不要在这里误导别人。我可以直言不讳的说,hibernate非常差劲。不要被他那可爱的 ORM 诱惑了,否则将来你必受冲动的惩罚。


这个朋哟说的太那个了吧, 是你自己用了这么长时间还是不熟悉Hibernate吧,呵呵,我的一个项目用这个就不错,而且以前的一个项目想想如果用Hibernate回更加容易开发,
而且我已经针对Hibernate开发 开发出一套代码生成工具,只要定义好数据库,其它的插入,修改删除查询等代码全部自动生成,开发特别方便
可以这么说:
1, 对Hibernate不熟悉的人或没用过在项目的人,不适合,像上面这位朋友这样
2,Hibernate 还是比较好的,虽然集成度高了点,但是可以结合别的框架一起来解决这些问题,毕竟一个项目多数的应用不是都那么复杂的查询


哈哈,这位朋友被hibernate“ORM 诱惑了”。
不想给我的观点提供什么论据,更不想再争论什么,认为好就继续用吧,这里只给大家提个醒而已。
当然,用hibernate来开发一些要求不高的项目还是可以的,也不一无是处
0 请登录后投票
   发表时间:2006-06-23  
JAVA功底不强,数据库应该不错吧。如果用产品级别的数据库,还是推荐把业务封装到存储过程。用ORM估计架构师和项目经理要挂调。
0 请登录后投票
论坛首页 Java企业应用版

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