1. Hibernate的功能还是比较完善的,我们项目的需求还算比较复杂, 
只有少量数据库的性能调整工作还需要手工做。 
2. Hibernate的性能不错,特别是用了Cache。 
3. Hibernate缺点也有很多,不过都不算很严重。唯一可以说是不能 
接受的是2.0.3的Callback方法中无法对session操作,很难把一些业务 
逻辑放到PO当中。在实际项目中,我们在Hibernate 
上又封装了一层API,定义了自己的Callback。 
4. 分析模型最重要。由于Hibernate简化了DB操作,闲下来的时间让人 
自然提高对模型的要求。我们有相当长的时间花在模型设计和不断的refactor上。 
5. 重构的诱惑。由于项目的目标是产品化,所以很多地方刻意追求, 
几乎每一块代码都经过了3次以上较大的重构。这样做有好处,但也给 
小组成员的配合上带来了问题。 

解决方案 »

  1.   

    wandou999(弯豆) ( ) 你说的 1,2,4,5几点基本属于我说的两点  我想知道的是再事务控制和并发性方面它有什么好的特点吗
      

  2.   

    我刚看到:Hibernate是对JDBC的轻量级对象封装,Hibernate本身是不具备Transaction处理功能的,Hibernate的Transaction实际上是底层的JDBC Transaction的封装,或者是JTA Transaction的封装
    应该来说他主要特点在于持久化
      

  3.   

    其实Hibernate的事务确实比较底层,不过建议使用spring+hibernate的组合.
    至于Hibernate的好处,个人感觉是:
    1.基于POJO的复用.
    2.对DB的很好的封装.
    3.比较丰富的工具支持,想XDoclet,hbm2ddl等.
      

  4.   

    个人不是很喜欢 spring 配置太多,吧简单的事情复杂化了点,而hibernate才比较好的吧复杂的事情简单化.在开发的过程中,如果说hibernate是面向对象的开发,不如说是面向表的开发,比较直接。象一把很快的武士刀,没有太多花哨.
      

  5.   

    hibernate 和 ibatis 的比较谁有优势呢?
    我觉得好像ibatis 更灵活一些
      

  6.   

    越灵活就会越麻烦,看你开发的东西需要灵活到什么地步了。hibernate 也很灵活,你吧它当jdbc 使用都可以,还需要灵活到什么地步呢?