为什么要用hibernate,它比jdbc好在哪?

老蜗牛走猫步 2008-04-10 05:18:49
请说点实际的
...全文
1756 59 打赏 收藏 转发到动态 举报
写回复
用AI写文章
59 条回复
切换为时间正序
请发表友善的回复…
发表回复
nswd00 2011-05-06
  • 打赏
  • 举报
回复
16楼的解释比较合理,48楼的理解果然肤浅。
说hibernate效率低于JDBC,那是还没用到精髓。hibernate使用熟练的话,能减少很多数据库连接,性能是提升的。
kevin_Luan 2010-01-07
  • 打赏
  • 举报
回复
如果数据库的关联比较复杂的情况;查询数据又比较单一的时候;还是用JDBC;手写SQL;这样查询效率会高很多的;如果要用Hinbernate 在执行的话;将会执行N条SQL;
HAPPENS 2009-03-04
  • 打赏
  • 举报
回复

[size=240px]操,难道整天面对一堆配制/映射文件,就不觉得烦???[/size]
Landor2004 2008-11-05
  • 打赏
  • 举报
回复
该帖子已经超过半年,很多朋友都给出了正确的答复,所以结贴!
FAT0708 2008-11-05
  • 打赏
  • 举报
回复
如果团队里没有对hibernate精通的人,你会发现,你们死的很快。
一张表里有30个字段(数据库设计的不好),我只需要取5个,但是hibernate会把所有的都取出来,如果里面有clob或blob,会死的很快。
一张表里有父子结构,hibernate就搞不定了,你会怀念jdbc的start with....connect by....
原来一句sql就搞定的,现在要写n行,性能还不一定好。
见过很多hibernate用的好的,但是不会sql,不懂底层细节。
hibernate学习和使用曲线太高,如果想玩orm,推荐iBatis,前提你sql要好。
总之存在即是合理的。
个人意见。
ol_soft 2008-11-04
  • 打赏
  • 举报
回复
Hibernate 就是一个or映射 用起来方便罢了,其实最底层的实现还是JDBC
flyhat_427 2008-11-04
  • 打赏
  • 举报
回复
Hibernate的ORM,面向对象,我们做的都是对对象。
ysh0713 2008-11-03
  • 打赏
  • 举报
回复
表多,表关系多,用hibernate
表少,表关系少,用jdbc
codeartisan 2008-11-02
  • 打赏
  • 举报
回复
可以去看看《Hibernate实战》第二版的第1章。
hongjiang1011 2008-11-01
  • 打赏
  • 举报
回复
项目中如果有很复杂的报表,感觉用hibernate不是很好写,感觉用jdbc方便些
zenithsoftware 2008-10-31
  • 打赏
  • 举报
回复
对于非常复杂的嵌套SQL语句,hibernate能翻译出来么
hongbowu 2008-06-11
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 numen_wlm 的回复:]
引用 3 楼 zxm0412 的回复:
在程序代码中出现这种" select update delete insert"不会觉得恶心吗....

也不符合oo思想啊

我怎么就不觉得恶心呢?
[/Quote]
因为没有达到那种境界
wxcwk 2008-06-11
  • 打赏
  • 举报
回复
1、hibernate底层也是用JDBC实现的,在效率上低于JDBC。
2、hibernate是面向对象数据查询,JDBC是面向关系数据的。
3、hibernate不需要在代码中写大量、复杂的SQL,即使你的SQL不太过关也无大碍。
这是本人理解,比较肤浅!
落叶知秋2008 2008-06-09
  • 打赏
  • 举报
回复
这个问题有意思,如果你两个都用一遍,保证你再也不想用jdbc了,当然有些没办法用hibernate的那也要用ibatis代替
再有就是hibernate的orm思想更贴近于OO。
表对应出来的就是一个对象,查询的时候多方便啊。jdbc 那个set get的累死你
当然很多人说hibernate的效率太低,这个俺还没有坐过特大项目,但是我以前做过的电信网管项目也用的hibernate,上万的端口阿,效率还可以。看你怎么玩了
dinghun8leech 2008-06-04
  • 打赏
  • 举报
回复
本人小菜,还是斗胆卖弄一下。
好处:
1.编写大型项目时极为省力。
2.程序中不会出现sql语句。
3.对象化操作数据库。
4.建立逻辑层与数据库层的中间层,减少了数据库层与逻辑层的耦合。
Ryo_Hazuki 2008-06-04
  • 打赏
  • 举报
回复
hibernate使用得当的话不存在什么慢不慢的问题
jdbc更是双刃剑不当的sql语句效率上赶不上hibernate方式
Blenz 2008-06-04
  • 打赏
  • 举报
回复
Hibernate基于JDBC
binz911 2008-06-04
  • 打赏
  • 举报
回复
hib比jdbc好在 对实现oo思想的简化
其实底层也是jdbc做了层封装
yangchengly 2008-06-01
  • 打赏
  • 举报
回复
1、hibernate可以使你的程序适应于不同的数据库平台,虽然直接可以在不同的数据库之间进行移植的不多,因为很少只通过面向对象的操作就能实现所有的业务逻辑。
2、hibernate在处理表之间的关联关系是非常方便的。
3、hibernate使用了session机制,也在很大程序上提高数据库访问效率,但在对于应用程序的性能适当会有一些影响。特别适合于应用分布的情况。
还有很多,不一一介绍了。
潇湘振宇 2008-05-27
  • 打赏
  • 举报
回复
Hibernate确实给开发人员带来很大的方便,开发人员无须要过多的关注于数据库,Java是一门面向对象的语言,在开发过程中如果没有性能上特殊的要求,对现在的硬件条件来说,我还是推荐大家用Hibernate,但如果对性能要特殊要求的,比如报表、那就要慎重考虑了。当然在项目中不是说用了Hibernter就不能用Jdbc了,两者都是可以并存的......
Hibernate和Jdbc各有各的优缺点,折中选择吧!
加载更多回复(39)

50,528

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧