锁定老帖子 主题:谈谈Hibernate令人爽的地方
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-07-25
最近组里要把过去的一个项目从ms sql转到oracle下,原本在HB下很轻松的事情 结果现在要一个模块一个模块的改,而且出现的问题多多,改起来超级麻烦 发现IBatis在持久层为我们做的少之又少,带来的是一堆堆 XML 改的时候IB不给输出执行时的SQL语句,出错基本不知道是什么地方的问题,只能一点点摸索(比如断点),要去XML中一个一个的对比,粘出去到ORACLE下执行语句. 一个小项目动辄几十个XML用来映射SQL,调程序必须在 SQL/CODE之间来回切换,谁知道是不是SQL在ORACLE下出错了,人写的么,都会有一点点毛病, 比如: select user.id,user.name form user_table as user where user.pass=#password#; 这样的语句在SQL下可以正常运行,跑到ORACLE就会出错,ibatis应该报SQL没有正常结束 像这样烦人的问题每天都遇到一堆,因为你不知道以前好用的SQL在什么时候什么地方会出错,而且还把异常封状的那么难看 再说说性能问题 总是看人家说hibernate在批量操作的时候很慢(对比JDBC),其实完全是句废话,任何ORM封装JDBC都要有性能开销,不想要性能开销的可以用JDBC嘛,而且HB提供方法可以很容易的局部绕过HB API,直接使用JDBC . . . Connection conn=session.getConnection(); JDBC CODE .... 通常大家都会说这样一个例子,HB在update 1W以上数据是的性能,其实可以通过setBatch来解决 作为ORM框架,应该为我们带来开发.管理上的效率而不是负担 一点点个人看法,不喜欢的马上扔砖头 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-07-25
用XML代替hibernate也是一种解决方案,有些框架不用写任何代码,就靠XML就可以建立起一个网站。
|
|
返回顶楼 | |
发表时间:2007-07-25
log4j中设置为debug级别后,ibatis可以输出执行时的SQL语句,SQL很干净很清晰,而且连参数都给你输出了
hibernate生成的SQL你看的不累吗? hibernate的性能问题,不仅仅体现在批量操作的问题上吧?hibernate做报表的时候,那滋味你觉得很好吗? |
|
返回顶楼 | |
发表时间:2007-07-26
carlosbdw 写道 用XML代替hibernate也是一种解决方案,有些框架不用写任何代码,就靠XML就可以建立起一个网站。
这时候,使用XML来写代码了.一种代码换另一种代码罢了. |
|
返回顶楼 | |
发表时间:2007-07-26
withoutmewang 写道 log4j中设置为debug级别后,ibatis可以输出执行时的SQL语句,SQL很干净很清晰,而且连参数都给你输出了
hibernate生成的SQL你看的不累吗? hibernate的性能问题,不仅仅体现在批量操作的问题上吧?hibernate做报表的时候,那滋味你觉得很好吗? 不明白,做报表干嘛要用Hibernate? 大家都那么喜欢看SQL?偶每次看Hibernate只需要看它打印出来的SQL数目是不是我预计中的数目就差不多了.干嘛非得一个劲地扣语句?要看就从from xxxx那一节看. |
|
返回顶楼 | |
发表时间:2007-07-26
withoutmewang 写道 log4j中设置为debug级别后,ibatis可以输出执行时的SQL语句,SQL很干净很清晰,而且连参数都给你输出了
hibernate生成的SQL你看的不累吗? hibernate的性能问题,不仅仅体现在批量操作的问题上吧?hibernate做报表的时候,那滋味你觉得很好吗? 呵呵,我基本不看HB生成的SQL,至少HB不会在SQL这个曾面上出错 这位高手麻烦你从 骨头的骨头来给我将一讲IB,把拥有70多个XML的项目移植数据库的 好方案 |
|
返回顶楼 | |
发表时间:2007-07-26
连 ibatis 怎么出来log 都没弄明白.....
说什么好呢? |
|
返回顶楼 | |
发表时间:2007-07-26
yh_private 写道 withoutmewang 写道 log4j中设置为debug级别后,ibatis可以输出执行时的SQL语句,SQL很干净很清晰,而且连参数都给你输出了
hibernate生成的SQL你看的不累吗? hibernate的性能问题,不仅仅体现在批量操作的问题上吧?hibernate做报表的时候,那滋味你觉得很好吗? 呵呵,我基本不看HB生成的SQL,至少HB不会在SQL这个曾面上出错 这位高手麻烦你从 骨头的骨头来给我将一讲IB,把拥有70多个XML的项目移植数据库的 好方案 不是ibatis有错。 是你们团队的数据库能力十分菜,ibatis的能力十二分菜,这种情况下还选ibatis,自然是以卵去碰石头,只能菜上加菜。谁告诉你Ibatsi是ORM工具,ibatis的定位本身就是SQL mapping,而不是orm。 天下哪有那么完美的数据库迁移方案,这句HQL在mysql和postgres下表现就不一样, from User u group by user.name, 如果是大型项目,马上得让你把hibernate骂得狗血淋头。 |
|
返回顶楼 | |
发表时间:2007-07-26
yh_private 写道 withoutmewang 写道 log4j中设置为debug级别后,ibatis可以输出执行时的SQL语句,SQL很干净很清晰,而且连参数都给你输出了
hibernate生成的SQL你看的不累吗? hibernate的性能问题,不仅仅体现在批量操作的问题上吧?hibernate做报表的时候,那滋味你觉得很好吗? 呵呵,我基本不看HB生成的SQL,至少HB不会在SQL这个曾面上出错 这位高手麻烦你从 骨头的骨头来给我将一讲IB,把拥有70多个XML的项目移植数据库的 好方案 ibatis用不着我来讲,您随便google一下就行了。 您要好方案,我的建议是:得,您就改吧。 在抱怨框架之前,先把自己的问题解决掉。 |
|
返回顶楼 | |
发表时间:2007-07-26
那是你还没遇到hibernate让你痛苦的地方。
IBatis 只是 SQL Mapping 工具,用起来还是挺灵活的。 |
|
返回顶楼 | |