最近一直在学Hibernate,但是就现在为止,还没看出它的优势来,速度方面没什么优势,而且编写的时候,本来以为可以简单些,后来发现稍微遇到问题,和JDBC也没什么区别。。求大神们解惑。

解决方案 »

  1.   

    支持HQL和数据库完全分离 Hibernate 很多事封装的 所以对程序员写代码很方便 Hibernate的缓存机制你看下也是优势 
      

  2.   

    对 楼上说到一点就是 Hibernate 的 缓存 和 方法的封装。Hibernate 在执行的时候 会产生一些不必要的 sql语句  影响了 效率   但是这些 都是可以避免的。LZ 可以设置其Show_Sql 为 true 可以看到。
    主要是在用的时候稍微注意下。而且他也支持 Sql 语句  其实 Hql 和 Sql 没多大区别。
      

  3.   

    (1)与jdbc相比,代码量少了不少。
    (2)性能非常好,因为它是个轻量级框架, 映射的灵活性比较好。其实灵活性上我更推荐Mybatis,她的灵活性更为出色点。
    (3)对各种映射关系的解决比较好
    (4)用时只需要操纵对象,使开发更对象化,这是我认为最为实用的地方,面向对象思想体现的较好。
      

  4.   

    还有一点  Hibernate 反向工程  可以从 数据库中 生成实体类 以及 实体映射文件 Spring 以及 SessFactory   这个 开发速度 还是比较快了把。 
      

  5.   

    性能好个屁,你看看哪个大型的项目,或者银行项目用上hibernate?,hibernate只能对一些不怎么大的项目使用,简洁的hql语句开发速度也是可以的 ,你如果真的搞大型的项目hibernate根本就没有jdbc好,lz自己想想本来hibernate封装了jdbc,而jdbc直接跟数据库打交到,而且它里面用了许多机制,虽然我们开发起来用起来爽,但是内部给我们做了许多工作,你说说到底谁的性能好,一般大型的项目需要维护,而jdbc的sql灵活性 强
      

  6.   

    没错!hibernate不支持存储过程,只能用于比较小型的定制开发的项目,一般大的项目不会用hibernate的,都会用jdbc!5楼的顶你
      

  7.   

    其实hibernate就是对jdbc的封装 ,减少一些你频繁的数据库操作而已
    提高开发效率不过开发时候还是jdbc比较好的
      

  8.   

    说两句吧
    Hibernate是一个轻量级的ORM框架,可以以OO的方式持久化数据,正因为如此,也带来了设计实体类关联关系的复杂性,如果有1k个实体类,建立他们之间的关联关系是一项很复杂的工作,所以很多同志对Hibernate的关联关系很头疼至于事务、性能、开发效率什么的,要看实际的应用场合,也可以进行一些优化我在想,如果有一个DAO中间件,可以灵活的支持JDBC、Hibernate、MyBatis……,这样可能更好一点儿
      

  9.   

    个人觉得这就是Java与C语言的对比。相对于Java,C更万能。
    相对于hibernate,JDBC更万能。
      

  10.   

    在某些人眼里,越复杂的东西越有技术含量。。偶面试的时候也被问过,用hibernate有啥好处么?偶说,hibernate可以把数据库里的表通过hibernate的映射文件和java的实体类建立映射关系,对实体类的操作,就会对应到数据库的操作,这样可以用面向对象的思想来操作数据库。。其实偶还是觉得存储过程比较好
      

  11.   

    首先,11楼,Hibernate虽然不能直接写存储过程,但是是可以调用的;
    其次,13楼,您知道JPA吗?
    再次,Hibernate是时下最流行的轻量级ORM框架,是个人就会,易于维护;
    再次,从面向对象的角度来说,JDBC确实不合适;
    再次,提醒有些人,用不好并不能说这个东西不好,对吧。
    最后,其实我是打酱油的。
      

  12.   

    Hibernate 除了让人学会“偷懒”之外,没有什么好处。由于性能问题,不可能应用于高流量的互联网应用中。只适合用于一小流量的管理后台中。
      

  13.   

    一直认为这个东东只适合对它的结构比较清楚,对主体代码有一定研读的人使用,或者适合对它一点儿都不清楚,就图个省事儿的人用。对它感觉缺乏控制感,同时对产品的性能要求比较高的同志,还是老老实实的jdbc吧。至少还能对出现的问题有谱,大体对优化有个准星。
      

  14.   

    hibernate适用于数据处理(小数据访问量,例如单个用户的数据的处理)。Jdbc 适用于数据统计(大容量万条数据量,当然再大的话就得数据库编程来处理了)。对于小数据量处理的编程,用hibernate谁用谁知道!方便。
      

  15.   

    每个框架都有各自的特点,hibernate  做小应用确实不错,大应用不会采用hibernate。  pv过亿的网站不用jdbc照样也没问题,jdbc确实比较烦琐。个人感觉ibatis 比较小巧,性能也不错,维护也不错。
      

  16.   

    应该说,hibernate在编程思想和习惯上更加面向对象,可以辅助人的思维从数据库导向转向OO,pojo。比较适合自上而下的设计。
      

  17.   

    高性能的程序不会采用Hibernate